Модульная библиотека событий JavaScript
Я хочу маленькую библиотеку, которая делает события DOM4. В противном случае подойдет разумное подмножество событий DOM3.
Это существует?
Неверные ответы
- Используйте большой каркас X (jQuery, mootools, прототип и т. Д.)
- Некоторая библиотека, которая не работает в IE8
- Библиотеки, которые не учитывают как фазы захвата, так и пузырьковые фазы.
Нужно только работать в IE8
1 ответ
С достаточной уверенностью могу сказать, что ответ - нет. Говорили о библиотеке под названием DOMe для событий 3-го уровня, но я не думаю, что она когда-либо начала развиваться.
Есть несколько причин, по которым такая библиотека будет сложной:
- IE 8 даже не слышал о захвате событий (хотя изначально это была идея Microsoft).
- Мутация событий практически невозможна.
KeyboardEvent
из-за ключевых ценностей было бы кошмаром, я не уверен, что это даже выполнимо. Это потому чтоkeyCode
может варьироваться в зависимости от языка ввода.
Учитывая все это, небольшая библиотека начинает звучать слишком оптимистично. Чтобы обойти первую проблему, вам нужно реализовать всю модель событий, привязав обработчик к исходному событию, которое выдает пузыри и псевдо-реферирует событие на обработчиках, прикрепленных с помощью методов shimmed, начиная с документа и прокладывая путь к оригинальное событие srcElement
/ target
и обратно
Самое простое решение - это, вероятно, еще одна причина, по которой шим не существует, большинство людей просто по возможности шимят события, в которых они нуждаются, и стараются избежать необходимости их захвата.