jQuery.auf('click') vor jQuery.klicken Sie auf?

Habe ich ein externes Skript, welches ich nicht ändern kann. Dieses Skript laden-Schaltfläche, und fügen Sie ein jQuery .klicken Sie auf... und das Ende mit "return false".

Muss ich trigger mein eigenen code auf diese klicken. Wenn ich das laden der Seite die nicht existiert, also muss ich verwenden .auf('click') zu binden "live". Aber es sieht aus wie die .auf('click') wird geladen "danach".klicken Sie auf, und als er "return false", meine .auf('click') ist nicht geladen.

Also die Frage ist... Wie kann ich trigger mein auf klicken Sie auf diese dynamisch geladen a#btn wich bereits eine .klicken Sie auf die Funktion false zurückgeben ?

Ist hier das fiddle :
http://jsfiddle.net/PLpqU/

Und hier ein code-Beispiel :

<div id="container"></div>
//I want this action to be executed on click, and the other too
//I can't use .click because on the "real" code, the a#btn is loaded after the page by another script
jQuery(document).on('click','a#btn',function(){
        ga('send', 'event', { eventCategory: 'xxxx', eventAction: 'yyyy' });
}) ;

//http://www.xxxxxx.com/distant-script.js
//This one is binded in a script that i cannot edit :
//Just before it load a#btn on the page, and then bind .click on it
//as he return false, the other on('click') are not executed
jQuery('#container').append('<a id="btn" />') ;
jQuery('a#btn').click(function(){
    //Some code stuff i need to be executed, but i can't manage
    return false ;
}) ;

Wie Sie können, Ziel ist das auslösen eines Google-Analytics-event auf einem link-button geladen, durch ein entferntes script.

das können Sie nicht. ein Ereignis gebunden direkt auf das element wird immer passieren, bevor eine Delegierte Ereignis. Sie müssen entweder verlängern Sie das plugin, oder entfernen Sie das click-Ereignis aus, nachdem es Hinzugefügt wurde.
Ja, aber ich brauche es, um ausgeführt werden zu, ich kann nicht einfach lösen, ohne "rebinding". Gibt es eine Möglichkeit, binden Sie es nach der Bindung ? vorausgesetzt, ich bin nicht verantwortlich für das binden und seinen code ändern kann
Ich verstehe das, aber die Tatsache ist, es gibt keine einfache Problemumgehung für dieses. Haben Sie zu lösen oder zu ändern, die Veranstaltung, die das plugin ausgibt.
Rückblickend auf Ihrer Geige, es sieht aus wie Sie sind verbindlich, Ihre click-Ereignis, um das Dokument, nicht auf die a#btn element. Klicken Sie auf Ereignisse, die sich von der Unterseite der DOM an der Oberseite, also an Ereignisse gebunden, um das Dokument wird immer ausgelöst, nachdem Ereignisse gebunden, um DOM-Elemente. Können Sie binden direkt an a#btn?
Nein, ich kann nicht, weil ich es brauchen werden dynamisch gebunden, da die Schaltfläche nicht im DOM-laden auf

InformationsquelleAutor Pierre Granger | 2014-02-28

Schreibe einen Kommentar