Alternatywa dla jquery live, która może działać
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. Ze względu na ładowanie html do html po załadowaniu DOM próbowałem .on, .bind, .delegate i .live. Żadna z nich nie działa z wyjątkiem pliku .live, który jest przestarzały (używam jquery 1.7.2).
Czy ktoś może wyjaśnić, dlaczego .live jest jedyną funkcją, która działa i dlaczego inne nie działają (lub czy robię coś złego 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>