【发布时间】:2019-10-06 06:15:38
【问题描述】:
我正在制作反应测验应用程序,但遇到了一些麻烦。我想这样做:我有一个存储值 1 或 2 的按钮,它有 onclick 函数来检查单击按钮的值是否为 1,加一分来得分。如果单击它,我需要从此按钮中删除单击事件,仅从此按钮中删除。 我不知道该怎么做。请帮帮我 代码:
class Quiz extends React.Component {
constructor(props) {
super(props);
this.state = {score: 0}
this.checkBtn = this.checkBtn.bind(this);
}
checkBtn(e) {
if (e.target.value == "1") {
this.setState({score: this.state.score+1});
window.removeEventListener('click', this.checkBtn, true); // here i need remove listener
}
}
render() {
const { disableButton } = this.state;
return (
<div>
<button value="1" onClick={this.checkBtn}>first</button>
<button value="2" onClick={this.checkBtn}>second</button>
<button value="1" onClick={this.checkBtn}>first</button>
<button value="2" onClick={this.checkBtn}>second</button>
<p>{this.state.score}</p>
</div>
);
}
}
const Root = document.getElementById("root");
ReactDOM.render(<Quiz />, Root);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
【问题讨论】:
-
window对象在哪里添加点击事件监听?
标签: reactjs