Господа, хочу представить свою библиотеку обработки событий.
- полная кросс-браузерность
- приведены к W3C-виду все свойства и методы объекта события
-
this всегда указывает на текущий элемент
- обработчики срабатывают в том порядке, в котором назначены
- поддерживает работу с несколькими элементами сразу
- поддерживает копирование обработчиков
- поддерживается эмуляция событий
Ссылка -
http://syntax-js.ru/works/Event/Event.js
sample() - подразумевается, мой движок CSS-селекторов, описанный в
этой теме.
Использование:
// element - может быть элементом DOM, или массивом/NodeList'ом, содержащим элементы,
// или селектором (при подключенной выборке)
// добавление обработчиков
Event.get(element).on({
click: function(eventObject) {},
mouseover: function(eventObject) {},
keypress: function(eventObject) {}
});
// удаление выбранных обработчиков
Event.get(element).off('click', 'mouseover', 'keypress');
// удаление всех обработчиков
Event.get(element).off();
// доступно такое написание
Event.get(element).on({
click: 'alert(event.target)' // в данном случае: event - объект события
});
// эмуляция событий
Event.get(element).simulate('click');
При эмуляции идёт проверка на существование метода вызова события у элемента, и в случае отсутствия, используются специальные функции. По этому можно писать так:
Event.get(document.forms[0]).simulate('submit'); // форма реально будет отправлена
Копирование обработчиков:
Event.copy(элемент_1, элемент_2); // позволяет быстро скопировать все обработчики с 1-го элемента на 2-й
Жду ваши замечания/предложения/коментарии
![](https://javascript.ru/forum/images/smilies/smile.gif)