为了账号安全,请及时绑定邮箱和手机立即绑定

为什么addEventListener没有点击却自己执行了?

为什么addEventListener没有点击却自己执行了?

拉丁的传说 2019-02-14 18:13:18
我用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;

}


查看完整回答
反对 回复 2019-02-20
  • 1 回答
  • 0 关注
  • 674 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信