Heim > Fragen und Antworten > Hauptteil
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·
PHP中文网2017-05-19 10:20:56
不是,这两个其实都是原生的方法。
stopImmediatePropagation和链接stopPropagation,至于nativeEvent应该是ReactNative独有的,React都应该没有这东西。