Alternative zu jquery live arbeiten kann
Ich habe diesen einfachen code. http://jsfiddle.net/borth/BmEZv/
Wenn Sie auf den link, sobald es funktioniert. Wenn Sie klicken Sie auf es ein zweites mal funktioniert es nicht. Aufgrund der html geladen wird in html-nachdem der DOM geladen wurde, habe ich versucht .auf, .binden, .delegieren Sie, und .live. Keine von Ihnen außer .Leben, die veraltet sind (ich bin mit jquery 1.7.2).
Kann mir jemand erklären, warum .live ist die einzige Funktion, die funktioniert und warum die anderen nicht funktionieren (oder wenn ich mache etwas falsch mit den anderen Funktionen).
$(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
ist der offizielle Ersatz für.Live
- Lesen Sie den jQuery docs-FAQ, die Antwort auf
why
- Ich habe es auf Arbeit mit .auf(). Ich hatte die falsche syntax.
Du musst angemeldet sein, um einen Kommentar abzugeben.
e.target
innerhalb des click-handlers jQuery event.Ziel doc.on()
verwendet werden kann mit oder ohne delegation, unten ist ein Beispiel der on() mit delegation.http://jsfiddle.net/BmEZv/1/
on()
Folgende @Dhofca dies wirklich funktioniert. Ich bin nur zeigen, ein Beispiel, das habe ich versucht mit "this" - Schlüsselwort.