setAddEventListener
для придания браузерам IE6-8 стандартного W3C DOM`овского метода addEventListener
позволило выявить у первого некоторые недостатки. О крупных недостатках я напишу отдельно, но о паре мелких улучшений давайте поговорим сейчас.
Во-первых, я решил избавиться от необходимости вызывать метод setAddEventListener
при помощи метода call
. Во-вторых, я так же решил не вызывать его каждый раз для каждого объекта с указанием имени этого метода, сделав эту же функцию возвращаемым значением - это позволило вызывать её подряд для цепочки объектов, что я нахожу очень удобным.
Вот как теперь можно объявив эту функцию, сразу же в том же выражении элегантно вызвать её и для объекта window
и для объекта document
:
var setAddEventListener = function f(that) {
if (!('addEventListener' in that) && 'attachEvent' in that) {
//реализация
that.addEventListener = function(eventName, handler) {
//реализация
return handler;
};
that.removeEventListener = function(eventName, handler) {
//реализация
return handler;
};
}
return f;
}(window)(document);
Комментариев нет:
Отправить комментарий