javascript - JS绑定带参数的事件总要执行一次方法,如何避免?
迷茫
迷茫 2017-04-10 15:51:52
[JavaScript讨论组]

类似于这样的代码:

pointDOM.addEventListener("click",clickPointIndex(i))

按我的想法来说,这个pointDOM绑定的事件也就是clickPointIndex应该是当pointDOM被点击的时候才会执行。可是在实际状况中,它在没有点击之前就自己执行了一次。怎么破?
感谢给我提供帮助的各位:)

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(6)
高洛峰

pointDOM.addEventListener("click",function(){

clickPointIndex(i)

})

阿神

不是function(){clickPointIndex(i)};么
另外i是怎么回事 这很明显涉及闭包写法了 上下文呢

PHP中文网

事件是异步的,在绑定的时候只需要函数引用就好了,事件触发的时候才去执行处理函数。

伊谢尔伦

pointDOM.addEventListener("click","clickPointIndex(" + i + ")");

黄舟

var self = this;
pointDOM.addEventListener("click",clickPointIndex.bind(self, i))
PHP中文网

你这哪里是在绑定方法,明明就是在执行 clickPointIndex

第2个参数应该是一个函数,不是一个函数的运行结果

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号