Ho una porzione di codice caricato dinamicamente tramite una chiamata AJAX aggiungendo il risultato a un elemento genitore, simile a questo:Collegamento plug jQuery chiede agli elementi caricati dinamicamente tramite jQuery, on()
<div class="parent">
<!-- Inner content loaded dynamically -->
<div class="child">
</div>
<div class="child">
</div>
<!-- ... -->
</div>
Ora, al fine di collegare un evento mouseover, vorrei fare qualcosa di simile:
$(".parent").on("mouseenter", ".child", function(){
//Do fun stuff here
}
$(".parent").on("mouseleave", ".child", function(){
//Undo fun stuff here
}
questo funziona abbastanza bene per funzioni standard, ma voglio collegare ad un plug-in di terze parti (nel mio caso , HoverIntent, ma davvero qualsiasi plugin) -
La sintassi per collegare il plugin hoverIntent è così così:
$(".child").hoverIntent(makeTall, makeShort)
... ma voglio far funzionare tutto questo per il mio contenuti dinamici che non era disponibile al momento del documento caricato inizialmente, e qualcosa come $(".parent").on("hoverIntent", ".child", function(){});
non sembra essere il modo giusto per farlo.
Qual è l'approccio corretto per applicare un plug-in agli elementi caricati dopo l'iniziale $(document).ready()
?
Il più semplice la cosa da fare è applicare semplicemente i plugin nel/sui gestore/i "successi" delle chiamate ajax. – Pointy
Probabilmente il plugin usa '$ (you_passed_selector) .hover()' come hook, puoi semplicemente cambiare il plugin per usare '$ (document) .on ('hover', tu_passed_selector, function() {});'. O come prima dichiarato il modo più semplice per legare i nuovi elementi quando aggiunti. – Chad