Показать сообщение отдельно
  #1 (permalink)  
Старый 04.06.2010, 16:54
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Подмена addEventListener firefox.
Здравствуйте, мне необходимо подменить все вызовы функции addEventListener . Нужно это сделать из плагина firefox.
Пробовал так:
var _funcS = HTMLAnchorElement.prototype.addEventListener;
	HTMLAnchorElement.prototype.addEventListener = function(event, funci, bubble) {
			alert(1);
                     _funcS.call(this,event, funci, bubble); 
	};
document.getElementById('link').addEventListener("click", evecatch, false);//не работает


не выходит... Причём подмена любых других методов работает, например:
var funcSetAttr = HTMLAnchorElement.prototype.setAttribute; 
HTMLAnchorElement.prototype.setAttribute = function(name, value) {
   alert(name);
   funcSetAttr.call(this,name,value);
};
document.getElementById('link').setAttribute ("width", "100");//работает


Этот метод вообще можно подменить? Если да, то подскажите как?

Мне это нужно сделать, потому что я пытаюсь сделать 'чистую симуляцию' щелчка мышки initMouseEvent из под фаерфокс-плагина. Проблемма в том что initMouseEvent выдаёт не все аттрибуты объекта event, такими, которыми они должны быть на самом деле при щелчке, плюс фазы события идут неверно. Изменить я их никак не могу - 'not defined getter'. Либо есть какой-нибудь альтернативный способ сгенерировать событие с нужными мне параметрами?
Ответить с цитированием