Próbuję dowiedzieć się, jak użyć metody Jquery .on () z określonym selektorem, z którym jest powiązanych wiele zdarzeń. Wcześniej korzystałem z metody .live (), ale nie byłem pewien, jak wykonać to samo zadanie z .on (). Zobacz mój kod poniżej:
$("table.planning_grid td").live({
mouseenter:function(){
$(this).parent("tr").find("a.delete").show();
},
mouseleave:function(){
$(this).parent("tr").find("a.delete").hide();
},
click:function(){
//do something else.
}
});
Wiem, że mogę przypisać wiele wydarzeń, dzwoniąc pod numer:
$("table.planning_grid td").on({
mouseenter:function(){ //see above
},
mouseleave:function(){ //see above
}
click:function(){ //etc
}
});
Ale uważam, że właściwe użycie .on () wyglądałoby tak:
$("table.planning_grid").on('mouseenter','td',function(){});
Czy istnieje sposób, aby to osiągnąć? Albo jaka jest tutaj najlepsza praktyka? Wypróbowałem poniższy kod, ale bez kości.
$("table.planning_grid").on('td',{
mouseenter: function(){ /* event1 */ },
mouseleave: function(){ /* event2 */ },
click: function(){ /* event3 */ }
});
Z góry dziękuję!
javascript
jquery
jquery-selectors
jquery-1.7
butangphp
źródło
źródło
$("table.planning_grid td")
?<table>
z każdym pojedynczym<td>
elementem, a nie z każdym pojedynczym elementem, co jest rzeczywiście właściwą drogą.<table>
zamiast jednego na<td>
element staje się obowiązkowe, aby uzyskać użyteczną wydajność..bind
i.live
. Dobra odpowiedź, właśnie to, czego szukałem: D @ Frédéric - Twój link nie prowadzi już do nagłówkaid
na stronie dokumentacji jquery. Prawdopodobnie w wyniku zaktualizowanej dokumentacji. Ale nie mogłem znaleźć odpowiedzi na tej stronie.Ponadto, jeśli masz wiele programów obsługi zdarzeń dołączonych do tego samego selektora wykonującego tę samą funkcję, możesz użyć
źródło
Jeśli chcesz używać tej samej funkcji w różnych zdarzeniach, możesz użyć następującego bloku kodu
źródło
Dowiedziałem się coś naprawdę przydatnego i fundamentalnej z tutaj .
tworzenie łańcuchów funkcji jest w tym przypadku bardzo przydatne, co działa w przypadku większości funkcji jQuery, w tym również na wyjściu funkcji.
Działa, ponieważ wyjście większości funkcji jQuery to zestawy obiektów wejściowych, dzięki czemu można ich używać od razu i sprawić, by było krótsze i inteligentniejsze
źródło
Możesz łączyć te same zdarzenia / funkcje w ten sposób:
źródło
Spróbuj z następującym kodem:
źródło