2012-04-10 11 views
0

Ich weiß, dass dies eine hackische Frage ist, aber im Grunde möchte ich einen der Fehler mit live() ausnutzen, aber nicht wollen, dass mein Code veraltet es, da es veraltet ist.Wie man jQuery live repliziert() stopPropagation überschreibt mit on()

Hier ist meine Situation:

Ich bin mit dem Aloha Editor in Wordpress. Ich möchte einige zusätzliche Funktionen für Bilder starten, wenn der Editor aktiv ist und auf ein Bild geklickt wird.

Das Problem ist, dass Aloha die Weitergabe von Klicks auf die Verknüpfung stoppt, die um das Bild gewickelt wird. Mit live() kann ich dies überschreiben, wobei ich, wie wenn ich on() verwende, die Stop-Propagation befolge. Ich möchte jedoch nicht veralteten Code verwenden, also weiß jemand, wie ich on() diese Stop-Propagation ignorieren kann?

Ich denke, es ist ein Hinweis in den jQ Noten für Live()

Aufruf event.stopPropagation() in den Event-Handler in Stopp Event-Handler angebracht niedriger im Dokument unwirksam ist; Das Ereignis wurde bereits zum Dokumentieren propagiert.

Also ich denke, ich muss das gleiche mit on() tun, aber kann einfach nicht herausfinden, wie es geht. Ich denke, ich sollte wahrscheinlich ein paar Änderungen an Aloha vornehmen, aber es ist so massiv, dass es nur ein bisschen einschüchternd ist.

+0

Soweit ich das beurteilen kann, 'live' gehorcht' stopPropagation' so vielleicht die Frage, die ich bin Missverständnis. http://jsfiddle.net/SnwrL/ –

+0

Als Vermutung, haben Sie versucht, $ (Dokument) .on ("click", ".your-image", Funktion() ...) –

+0

Ja, im Grunde, wenn ich es tue Dies ist: jQuery ('a.ice_image'). live ('click', function() {... Es funktioniert und wenn ich dies tue jQuery ('a.ice_image'). on ('click', function () {... Aloha blockiert es.Ich bin nicht sicher, ob seine stopPropagation oder etwas ähnliches, da, wie ich den Code für Aloha sage, 20Mb ist, also das was ich wirklich frage, gibt es einen Weg, auf() sich schlecht zu benehmen wie live() tut, damit ich Aloha nicht hacken muss ... –

Antwort

0

Dies wird außer Kraft gesetzt event.stopPropagation() document.querySelector('#adv_search_i').addEventListener('click', function(e){ //code });