Відповідь Тату полягає в тому, як я б це робив інтуїтивно, але в Internet Explorer у мене виникли деякі проблеми з таким способом вкладання / прив’язки подій, хоча це робиться за допомогою .on()
методу.
Мені не вдалося точно визначити, з якими версіями jQuery це проблема. Але я інколи бачу проблему в наступних версіях:
- 2.0.2
- 1.10.1
- 1.6.4
- Мобільний 1.3.0b1
- Мобільний 1.4.2
- Мобільний 1.2.0
Моє вирішення було спочатку визначити функцію,
function myFunction() {
...
}
а потім обробляти події окремо
// Call individually due to IE not handling binds properly
$(window).on("scroll", myFunction);
$(window).on("resize", myFunction);
Це не найкрасивіше рішення, але воно спрацьовує для мене, і я думав, що викладу його там, щоб допомогти іншим, хто може натрапити на це питання
.on('keyup.foo keypress.foo blur.foo change.foo', …)
або.on('keyup keypress blur change .foo', …)
?