我有以下代码,它会查找所有td元素的点击事件:
[].forEach.call(document.querySelectorAll('td'), function(e) {
e.addEventListener('click', function(event) {
var clicked = [];
clicked.push(event.target.parentNode.getAttribute('data-a'));
clicked.push(event.target.getAttribute('data-b'));
this.callEvent(clicked, event.target);
}.bind(this));
}.bind(this));
然后我有一个基本的if else语句来检查数据attrs。看起来像click函数一样保持绑定,就像在if语句中我已经登录到控制台那条件为真。 在第一次运行之后,真正的条件只运行,然后如果下一次运行,false运行,true也运行..然后每次运行后,每个先前的点击运行条件。
我做错了什么?我是否需要每次以某种方式取消绑定点击功能?