У меня есть обработчик событий, который вызывается шесть раз, когда я нажимаю на ссылку.Обработчик события Onclick выполняется несколько раз, когда я нажимаю ссылку
var elems = elem.getElementsByTagName('a');
var cntr = 0;
for(var a in elems) {
AttachEvent(elems[cntr], 'click', function(e) {
this.reporturl = this.href;
document.getElementById('reportpopup').style.visibility = "visible";
return false;
});
}
Я использую Firefox 3.5 в настоящее время, так это используется для AttachEvent:
function AttachEvent(obj,evt,fnc,useCapture){
if (!useCapture) useCapture=false;
if (undefined == obj || null == obj)
return;
if (obj.addEventListener){
obj.addEventListener(evt,fnc,useCapture);
return true;
} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
else{
MyAttachEvent(obj,evt,fnc);
obj['on'+evt]=function(){ MyFireEvent(obj,evt); };
}
}
Значение this.href
то же самое каждый раз, и есть только три ссылки, которые соответствуют моей getElementsByTagName
.
Итак, я привязал событие к моей ссылке, и когда я нажимаю на одну из трех, она называется шесть раз с той же информацией о ссылках.
Любая идея, почему это может произойти?
Спасибо, я забыл увеличить свой cntr. –