Ответ Тату заключается в том, как я бы сделал это интуитивно, но у меня возникли некоторые проблемы в 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', …)
?