У меня есть несколько обработчиков click
на карусельном плагине (GitHub repo here).Несколько прикованных .on ('click') прослушивателей событий в jQuery
Когда я изначально закодированы, я забыл о JQuery цепочки:
$gallop.on("click", ".advance", function(){ [snip 1] })
$gallop.on("click", ".retreat", function(){ [snip 2] })
$gallop.on("click", ".autoplay", function(){ [snip 3] })
$gallop.on("click", ".picker", function(){ [snip 4] });
Они все на том же .gallop
элемента, так что я могу улучшить код, приковав их вместе:
$gallop
.on("click", ".advance", function(){ [snip 1] })
.on("click", ".retreat", function(){ [snip 2] })
.on("click", ".autoplay", function(){ [snip 3] })
.on("click", ".picker", function(){ [snip 4] });
Они также все слушают событие click
: только для каждого обработчика разные селектора. Есть ли способ разместить несколько элементов селектора/обработчика в том же методе .on()
? Что-то вроде этого?
$gallop
.on("click",
".advance", function(){ [snip 1] },
".retreat", function(){ [snip 2] },
".autoplay", function(){ [snip 3] },
".picker", function(){ [snip 4] });
Не могли бы вы использовать делегирование событий? Так, возможно, глядя на event.target, чтобы определить, что было нажато? У вас есть фрагмент кода? – cgatian
@cgatian - это уже событие. – jfriend00
ОК. Ну, я думаю, вы только что дали ответ на то, что я сказал. – cgatian