Mam ten prosty kod. http://jsfiddle.net/borth/BmEZv/ Jeśli klikniesz link raz, działa poprawnie. Jeśli klikniesz go po raz drugi, to nie zadziała. Z powodu załadowania html do html po załadowaniu DOM, próbowałem .on, .bind, .delegate i .live. Żadna z nich nie działa z wyjątkiem .live, które jest przestarzałe (używam jquery 1.7.2).Alternatywa dla jquery live, która może pracować
Czy ktoś może wyjaśnić, dlaczego .live jest jedyną funkcją, która działa i dlaczego inne nie działają (lub jeśli robię coś nie tak z innymi funkcjami).
$(document).ready(function(){
$(".OpenPopup").bind('click', function(e){
alert('test .OpenPopup');
// do something
return false;
});
$(".EditIcon").bind('click', function(){
alert('test .EditIcon');
// do something
$("#ABC").html('<div class="EditIcon OpenPopup" pwidth="800" pheight="500" ptitle="EditText">click here again</div>');
});
});
<div id="ABC"><div class="EditIcon OpenPopup" pwidth="800" pheight="500" ptitle="EditText">click here</div></div>
'.On' jest oficjalnym zamiennikiem' .Live' –
odczytać jQuery docs nas do odpowiedzi na 'why' – charlietfl
Dostałem go do pracy z .Na(). Miałem złą składnię. –