Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Einige Probleme mit dem Sprudeln von Reaktionen

   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·

淡淡烟草味淡淡烟草味2732 Tage vor410

Antworte allen(2)Ich werde antworten

  • PHP中文网

    PHP中文网2017-05-19 10:20:56

    不是,这两个其实都是原生的方法。

    stopImmediatePropagation和链接stopPropagation,至于nativeEvent应该是ReactNative独有的,React都应该没有这东西。

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:20:56

    https://zhuanlan.zhihu.com/p/...看完这个链接你就明白了

    Antwort
    0
  • StornierenAntwort