Questo sito potrebbe offrire funzionalità limitate durante le operazioni di manutenzione per migliorare l'esperienza utente. Se un articolo non risolve il tuo problema e vuoi richiedere supporto, la nostra comunità di supporto è pronta ad aiutarti tramite @FirefoxSupport su Twitter e /r/firefox su Reddit.

Cerca nel supporto

Attenzione alle mail truffa. Mozilla non chiederà mai di chiamare o mandare messaggi a un numero di telefono o di inviare dati personali. Segnalare qualsiasi attività sospetta utilizzando l'opzione “Segnala abuso”.

Ulteriori informazioni

Questa discussione è archiviata. Inserire una nuova richiesta se occorre aiuto.

Why do jquery 2.2.4 .on('click') listeners not trigger upon clicking dynamically loaded children of the element specified in the finder?

more options

I am using jQuery 2.2.4 to listen for a click on an element within a div. The element within the div is dynamically loaded.

Consider the following div element. (I'm having to remove the starting characters from the tags so the code shows up here)

div id='view_dashboards_pane'>

/div>

Content is loaded into the above div via an ajax call, resulting in this:

div id='view_dashboards_pane'>

    i class="dashboard_user_edit_label">mode_edit</i>

/div>

The below script is present on the initially loaded page and will successfully trigger upon clicking the dynamically loaded element in Chrome and Edge, however the click does not register in Firefox. Looking at the "Events" section for the <i> element in Firebug it appears that the listener is attached, but the click event does not register.

script type='text/javascript'>

    $('#view_dashboards_pane').on('click','.dashboard_user_edit_label',function(){
        console.log('Clicked');
    });

/script>

There are no errors in the console and all other javascript/jQuery continues to function within the browser. How does Firefox handle these events differently, and how would I work around this?

I am using jQuery 2.2.4 to listen for a click on an element within a div. The element within the div is dynamically loaded. Consider the following div element. (I'm having to remove the starting characters from the tags so the code shows up here) div id='view_dashboards_pane'> /div> Content is loaded into the above div via an ajax call, resulting in this: div id='view_dashboards_pane'> i class="dashboard_user_edit_label">mode_edit</i> /div> The below script is present on the initially loaded page and will successfully trigger upon clicking the dynamically loaded <i> element in Chrome and Edge, however the click does not register in Firefox. Looking at the "Events" section for the <i> element in Firebug it appears that the listener is attached, but the click event does not register. script type='text/javascript'> $('#view_dashboards_pane').on('click','.dashboard_user_edit_label',function(){ console.log('Clicked'); }); /script> There are no errors in the console and all other javascript/jQuery continues to function within the browser. How does Firefox handle these events differently, and how would I work around this?

Modificato da michaelrstewart1 il

Tutte le risposte (1)

more options

Wow, if I change the tag from "i" to "button" it works, but unfortunately I need to remain "i". What is going on there?

Modificato da michaelrstewart1 il