tengo una parte de código que se carga dinámica a través de una llamada AJAX añadiendo el resultado a un elemento padre, similar a esto:Colocación plugin de jQuery llama a elementos cargada dinámicamente a través de jQuery, en()
<div class="parent">
<!-- Inner content loaded dynamically -->
<div class="child">
</div>
<div class="child">
</div>
<!-- ... -->
</div>
Ahora, con el fin de conectar un evento mouseover, me gustaría hacer algo como esto:
$(".parent").on("mouseenter", ".child", function(){
//Do fun stuff here
}
$(".parent").on("mouseleave", ".child", function(){
//Undo fun stuff here
}
esto funciona lo suficientemente bien como para las funciones estándar, pero quiero conectar a un complemento de terceros (en mi caso , HoverIntent, pero realmente cualquier complemento) -
La sintaxis para fijar el complemento HoverIntent es tan así:
$(".child").hoverIntent(makeTall, makeShort)
... pero quiero que esto funcione para el contenido dinámico que no estaba disponible en el momento en el documento cargado inicialmente, y algo así como $(".parent").on("hoverIntent", ".child", function(){});
no parece ser la forma correcta de hacer esto.
¿Cuál es el enfoque correcto para aplicar un complemento a los elementos cargados después del $(document).ready()
inicial?
El más simple Lo que hay que hacer es aplicar explícitamente el (los) plugin (es) en el (los) manejador (es) de "éxito" de sus llamadas ajax. – Pointy
El complemento probablemente usa '$ (you_passed_selector) .hover()' como su gancho, simplemente puede cambiar el complemento para usar '$ (document) .on ('hover', you_passed_selector, function() {});'. O como se indicó anteriormente, la forma más fácil de enlazar elementos nuevos cuando se agrega. – Chad