Здравствуйте, мне необходимо подменить все вызовы функции 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'. Либо есть какой-нибудь альтернативный способ сгенерировать событие с нужными мне параметрами?