Я получаю проблему с вызовом немедленной функции с помощью addEventListener, которая вызывает его дважды. пытался переходить от барботажа к захвату, но не работал. вот мой кодфункция вызова addEventListener дважды с непосредственным шаблоном функции
некоторое описание: Я пытаюсь добавить текстовое поле, в которое он нажал.
var mod = (function(){
var sEventType = 'click',
labelObj = document.getElementsByTagName('label');
return {
createTextBox : function(targetId,inputVal){
alert('hi');
var elemInput = document.createElement('input');
},
addEvents : function(){
for (var i = 0; i < labelObj.length; i++) {
if (window.addEventListener) //Firefox, Chrome, Safari, IE 10
labelObj[i].addEventListener(sEventType,function(){ mod.createTextBox(this,this.innerHTML);}, false);
else if (window.attachEvent) //IE < 9
labelObj[i].attachEvent(sEventType, function(){ mod.createTextBox(this,this.innerHTML);});
}
}
}
}());
//Intialise Event
mod.addEvents();
Отметьте addEventListener, который вызывает createTextBox, дважды вызывает предупреждение внутри всплывающего окна.
Вот HTML часть
<body>
<div id='tableMain'>
<div id='exlTopHd'>
<div id='loginData'>
<div id='yourName'><label id='mNam'>type your name here</label></div>
<div id='yourEmail'><label>your email address</label></div>
</div>
<div id='exlCtr'>
<div id='exlTitle'><label>add title<lable></div>
<div id='addRow'>+row</div>
<div id='addColomn'>+colomn</div>
<div id='saveExl'>saving...</div>
</div>
</div>
<div id='exlTb'></div>
</div>
Не связаны, но наследие IE фрагмент вам нужно ' 'на' + sEventType ...'. – Teemu
Каково значение 'labelObj.length' – dreamcoder
labelObj.length значение равно 3. – mayank