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>
Verwenden Sie einfach e.stopPropagation(), um zu verhindern, dass das übergeordnete Ereignis sprudelt. Das fn1-Ereignis wird nicht ausgel?st, das Dokumentereignis jedoch?
e.nativeEvent.stopPropagation() verhindert das Sprudeln zum Dokument, aber jedes Mal, wenn auf fa geklickt wird, wird es ausgel?st und ausgel?st. Wenn e.target nicht abgerufen werden kann, führt nur die Erfassung von fn2 zu Ergebnissen Problem Wenn es darum geht, wie k?nnen wir nur das ?u?ere Ereignis ausl?sen, ohne es einzufangen? Was ist der ungef?hre Ereignismechanismus von Reaktionsereignissen? Vielen Dank für die L?sung·
不是,這兩個其實都是原生的方法。
stopImmediatePropagation和鏈接stopPropagation,至于nativeEvent應該是ReactNative獨有的,React都應該沒有這東西。