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

这个javascript事件处理小程序为什么注释掉部分代码还有一样的效果?

这个javascript事件处理小程序为什么注释掉部分代码还有一样的效果?

点击div标签,里面的文字由“1”变为“加油”,可是有什么我注释掉addEventListener, 处理函数clicklistener(event)只是作为参数传入addEvent(element, event, listener), 但是没调用呀,还是会有效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>封装小jQuery库实现js事件</title> </head> <body> <div id="doma" style="height: 100px;width: 100px;background-color: blue;">1</div> <script type="text/javascript"> // 仅能根据id捕获dom的封装 function $(selector){ if (selector.substr(0,1) == "#") { var getDom = document.getElementById(selector.substring(1)); return getDom; } else{ console.log("This is not a id"); } } // 给一个element绑定一个针对event事件的响应,响应函数为listener function addEvent(element, event, listener) {    // element.addEventListener(event,listener);    //为什么我这行注释掉,clicklistener只是作为参数传入,没有调用,可是刷新后还是默认显示“加油” } // 例如: function clicklistener(event) { var div1 = document.getElementById("doma")      div1.firstChild.nodeValue = "加油!"; } addEvent($("#doma"), "click", clicklistener()); </script> </body> </html>
查看完整描述

1 回答

已采纳
?
ziom

TA贡献948条经验 获得超1109个赞

可能是缓存的原因

查看完整回答
1 反对 回复 2016-09-22
  • newsudhc3634140
    newsudhc3634140
    我换其他浏览器也一样的,你可以试试。好像不是
  • ziom
    ziom
    说实话,我不太懂js. 但是以前学过,也大概看得懂你写的代码。addEvent传入进去的listener不是一个对象,而是一个函数,所以clicklistener里的代码还是执行了的,我的猜测是这样。。。
  • 1 回答
  • 0 关注
  • 1876 浏览
慕课专栏
更多

添加回答

举报

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