绑定window事件以后点击会触发多次事件
来源:2-13 生命周期函数使用实例
CaNg_7
2019-08-31 14:35:04
import React, { Component } from 'react';
class Counter extends Component {
handleClick() {
window.addEventListener('click', () => {
console.log('window click');
});
}
render() {
return <div onClick={this.handleClick.bind(this)}>Hello Word</div>;
}
}
export default Counter;
1回答
你好同学,因为给元素绑定了点击事件,事件触发了一个handleClick。但是handleClick执行的内容是给window绑定了一个事件。所以点击一次,就会绑定一次事件。addEventListener添加事件不会把之前的相同类型的事件给覆盖,所以点击几次,window就会绑定几次点击事件哦。
可以直接把如下注释代码去掉:
或者改为如下,不要给window添加事件,而是直接给window绑定点击事件。这样当点击的时候,是触发window自己的事件,而不是添加新的事件。
祝学习愉快,望采纳。
相似问题