Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Моя библиотека обработки событий (https://javascript.ru/forum/project/15587-moya-biblioteka-obrabotki-sobytijj.html)

Maxman 04.03.2011 22:34

Event.js - моя библиотека обработки событий
 
Господа, хочу представить свою библиотеку обработки событий.

- полная кросс-браузерность
- приведены к 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-й

Жду ваши замечания/предложения/коментарии :)

Kolyaj 04.03.2011 22:42

Господи, зачем на каждой строчке комментарий от КО?

Maxman 04.03.2011 22:56

Kolyaj, да просто у меня такая фигня, что когда пишу чё-то жёское и не комментирую, через месяц уже начинаю путать, чё там где) А разве плохо? Всё зато ясно и понятно))

Kolyaj 04.03.2011 22:59

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

Есть такое правило: если вы захотели прокомментировать код, значит у вас плохой код, надо рефакторить.

Не путать комментарии с документацией.

Maxman 04.03.2011 23:02

Ну комментарии убрать, я думаю не очень сложно :) Это так, на всякий случай, ведь даже в продвинутых ФВ они всегда есть.
Цитата:

Сообщение от Kolyaj (Сообщение 94994)
если вы захотели прокомментировать код, значит у вас плохой код, надо рефакторить.

По-моему он абсолютно простой и понятный.

Kolyaj 04.03.2011 23:05

Цитата:

Сообщение от Maxman
ведь даже в продвинутых ФВ они всегда есть.

Только в особо неочевидных местах. Например, когда хак какой-нибудь применяется для какого-нибудь конкретного браузера.

Цитата:

Сообщение от Maxman
По-моему он абсолютно простой и понятный.

А зачем тогда комментарии?

Matre 05.03.2011 16:22

Kolyaj

Решили доказать кому-то, что он говно? :)
Что он Вам сделал-то?

SV0L0CH 05.03.2011 21:12

Цитата:

Сообщение от Matre
Решили доказать кому-то, что он говно?

Нет, что делает что-то не так.
Цитата:

Сообщение от Matre
Что он Вам сделал-то?

Что-то не так сделал же.:yes:

Maxman 05.03.2011 23:56

Очень прошу, говорите относительно скрипта. Не надо засорять темку всякими говносообщениями.

Matre 06.03.2011 08:28

Maxman

Где live-события? Без них уже не модно.


Часовой пояс GMT +3, время: 14:07.