我想阻止点击事件冒出来。因此我在我的代码中添加了e.stopPropagation()。我总是在控制台中出错,说:Uncaught TypeError: e.stopPropagation is not a function
在reactjs中设置stopPropagation的正确方法是什么?
handleClick: function(index, e) {
e.stopPropagation();
...
},
答案 0 :(得分:47)
正确的方法是使用.stopPropagation
,
var Component = React.createClass({
handleParentClick: function() {
console.log('handleParentClick');
},
handleChildClick: function(e) {
e.stopPropagation();
console.log('handleChildClick');
},
render: function() {
return <div onClick={this.handleParentClick}>
<p onClick={this.handleChildClick}>Child</p>
</div>;
}
});
您的事件处理程序将传递SyntheticEvent的实例,a 围绕浏览器的本机事件的跨浏览器包装器。它有 与浏览器的本机事件相同的界面,包括 stopPropagation()和preventDefault(),但事件工作除外 所有浏览器都相同。
Event System