搜尋

首頁  >  問答  >  主體

javascript - react 冒泡的一些問題

   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事件大概的事件機制是什麼呢?求解謝謝·

淡淡烟草味淡淡烟草味2803 天前440

全部回覆(2)我來回復

  • PHP中文网

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

    不是,這兩個其實都是原生的方法。

    stopImmediatePropagation和連結stopPropagation,至於nativeEvent應該是ReactNative獨有的,React都應該沒有這東西。

    回覆
    0
  • 巴扎黑

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

    https://zhuanlan.zhihu.com/p/...看完這個連結就懂了

    回覆
    0
  • 取消回覆