Mam fragment kodu, który jest dynamicznie ładowany za pośrednictwem wywołania AJAX dołączając wynik do elementu nadrzędnego, podobnego do tego:Mocowanie plugin jQuery dynamicznie obciążonych elementów za pomocą jQuery, na()
<div class="parent">
<!-- Inner content loaded dynamically -->
<div class="child">
</div>
<div class="child">
</div>
<!-- ... -->
</div>
teraz, żeby zahaczyć zdarzenie mouseover, chciałbym zrobić coś takiego:
$(".parent").on("mouseenter", ".child", function(){
//Do fun stuff here
}
$(".parent").on("mouseleave", ".child", function(){
//Undo fun stuff here
}
to działa wystarczająco dobrze dla standardowych funkcji, ale chcę dołączyć to do wtyczki firm trzecich (w moim przypadku , HoverIntent, ale tak naprawdę każda wtyczka) -
Składnia mocowania wtyczki HoverIntent jest tak:
$(".child").hoverIntent(makeTall, makeShort)
... ale chcę to do pracy dla mojej dynamicznej treści, które nie były dostępne w momencie dokument wstępnie załadowany, a coś $(".parent").on("hoverIntent", ".child", function(){});
nie wydaje się być właściwą drogą do tego.
Jakie jest prawidłowe podejście do stosowania wtyczki do elementów załadowanych po początkowym $(document).ready()
?
Najprostszy rzeczą do zrobienia jest jawne zastosowanie wtyczki w obsłudze "sukcesu" wywołań ajaxowych. – Pointy
Wtyczka prawdopodobnie używa '$ (you_passed_selector) .hover()' jako haka, możesz po prostu zmienić wtyczkę, aby użyć '$ (document) .on ('hover', you_passed_selector, function() {});'. Lub jak wcześniej podany najprostszy sposób wiązania nowych elementów po dodaniu. – Chad