【发布时间】:2016-04-07 21:40:09
【问题描述】:
我有一个 React 组件,它会将一堆 li 元素附加到 DOM。他们中的一些人点击了Eventlistener。在用户单击那些特殊的li 后,我试图禁用事件监听器,我为此使用event.currentTarget.removeEventListener('click', this.handleMouse),但它不起作用。以下是代码的相关部分:
var DisplayList = React.createClass({
/* ... */
handleMouse: function (event) {
event.currentTarget.style.backgroundColor = 'white';
this.props.changeCounts(-1);
event.currentTarget.removeEventListener('click', this.handleMouse); //NOT WORKING
},
/* ... */
render: function () {
var self = this;
return(
<div id = "listing-boxes-wrapper">
{
this.props.sortedList.map(function(item, index){
if (self.state.changedHabit.indexOf(item.habitid) > -1) {
return <li key={index} style={{backgroundColor: '#ccc'}} className = "text-center" onClick={self.handleMouse}>{item.description}
</li>
}else{
return <li key={index} className =" text-center">{item.description}
</li>
}
})
}
</div>
)
}
});
【问题讨论】:
标签: javascript reactjs dom-events