fn1(){
alert('父级');
}
fn2(ev){
ev.stopPropagation();
ev.nativeEvent.stopImmediatePropagation();
alert("子集");
}
componentDidMount(){
document.onclick=function(){
alert('document');
};
this.refs['fa'].onclick=function(ev){
//console.log(this);
console.log(ev.target);
alert("爷爷");
}
}
<p ref="fa" className="fa">
<p onClick={this.fn1.bind(this)}>
<p onClick={this.fn2.bind(this)}>aaaaaaaaaaa</p>
</p>
只用e.stopPropagation()阻止父级事件冒泡fn1 事件不会触发,但是document的事件触发?
e.nativeEvent.stopPropagation() 阻止冒泡到docuemnt但是父级的fn1触发, 每次点击fa都会触发并且最先触发,拿不到e.target,只有捕获fn2 才会有结果 p aaa,那么问题来了 如何只触发外侧事件 不去捕获呢?react事件大概的事件机制是什么呢?求解谢谢·
不是,这两个其实都是原生的方法。
stopImmediatePropagation和链接stopPropagation,至于nativeEvent应该是ReactNative独有的,React都应该没有这东西。
https://zhuanlan.zhihu.com/p/...看完这个链接你就明白了