Показать сообщение отдельно
  #2 (permalink)  
Старый 03.01.2014, 19:59
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

Что-то я не понял...
Вроде как пишут, что attachEvent не передает this в функцию-обработчик. Собственно для этого и написал
var IEhandler = function(){handler.call(element);}

И поэтому и не срабатывал detachEvent потом.
Но когда сделал так, все заработало
var EventHandler = {
	add: function(element, eventType, handler){
		if(element.addEventListener){
			element.addEventListener(eventType, handler, false);
			return handler;
		}
		element.attachEvent("on"+eventType, handler);
		return handler;
	},
	remove: function(element, eventType, handler){
		if(element.addEventListener){
			element.removeEventListener(eventType, handler, false); return;
		}
		element.detachEvent("on"+eventType, handler);
	}
}


Причем this присутствует в функции-обработчике. Где косяк? Работает во всех IE от 6
Ответить с цитированием