问题:reactjs中如何调用stopPropagation?

我想阻止点击事件冒泡。因此我在我的代码中添加了 e.stopPropagation() 。我总是在控制台中出错,上面写着:Uncaught TypeError: e.stopPropagation is not a function

在 reactjs 中设置 stopPropagation 的正确方法是什么?

      handleClick: function(index, e) {
        e.stopPropagation();

        ...

    }, 

解答

正确的方法是使用.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>;
  }
});

Example

您的事件处理程序将传递 SyntheticEvent 的实例,这是一个围绕浏览器本机事件的跨浏览器包装器。它与浏览器的本机事件具有相同的接口,包括 stopPropagation() 和 preventDefault(),除了事件在所有浏览器中的工作方式相同。Event System

Logo

React社区为您提供最前沿的新闻资讯和知识内容

更多推荐