我用addEventListener给所有<a>tag加上click属性和一个function做handler,但是为什么测试的时候我并没有click,handler就已经自己触发?var els = document.getElementsByTagName("a");for(var i = 0; i< els.length;i++){ console.log(els[i].innerHTML); els[i].addEventListener("click",myFunction(els.innerHTML));}function myFunction(x){ console.log(x); document.getElementById('demo').innerHTML=x;//我还没有click就已经运行这一行了}
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
绑定的时候myFunction(els.innerHTML)就已经自己执行了,如以下代码改进:
var els = document.getElementsByTagName("a");
for(var i = 0; i< els.length;i++){
console.log(els[i].innerHTML);
els[i].addEventListener("click",myFunction);
}
function myFunction(e){
document.getElementById('demo').innerHTML=e.target.innerHtml;
}
添加回答
举报
0/150
提交
取消