Модульная библиотека событий JavaScript

Я хочу маленькую библиотеку, которая делает события DOM4. В противном случае подойдет разумное подмножество событий DOM3.

Это существует?

Неверные ответы

  • Используйте большой каркас X (jQuery, mootools, прототип и т. Д.)
  • Некоторая библиотека, которая не работает в IE8
  • Библиотеки, которые не учитывают как фазы захвата, так и пузырьковые фазы.

Нужно только работать в IE8

1 ответ

Решение

С достаточной уверенностью могу сказать, что ответ - нет. Говорили о библиотеке под названием DOMe для событий 3-го уровня, но я не думаю, что она когда-либо начала развиваться.

Есть несколько причин, по которым такая библиотека будет сложной:

  • IE 8 даже не слышал о захвате событий (хотя изначально это была идея Microsoft).
  • Мутация событий практически невозможна.
  • KeyboardEvent из-за ключевых ценностей было бы кошмаром, я не уверен, что это даже выполнимо. Это потому что keyCode может варьироваться в зависимости от языка ввода.

Учитывая все это, небольшая библиотека начинает звучать слишком оптимистично. Чтобы обойти первую проблему, вам нужно реализовать всю модель событий, привязав обработчик к исходному событию, которое выдает пузыри и псевдо-реферирует событие на обработчиках, прикрепленных с помощью методов shimmed, начиная с документа и прокладывая путь к оригинальное событие srcElement / target и обратно

Самое простое решение - это, вероятно, еще одна причина, по которой шим не существует, большинство людей просто по возможности шимят события, в которых они нуждаются, и стараются избежать необходимости их захвата.

Другие вопросы по тегам