react阻止事件冒泡

4,586 阅读1分钟

react阻止事件冒泡


简单来说

e.stopPropagation() 可以阻止合成事件之间的冒泡 不可以阻止合成事件到原生事件的冒泡

因为React委托的document 和原生document不是同一个事物

e.stopPropagation()阻止的只是到react对应document

而当事件触发时,会向 react和原生document两个方向传递

如果要阻止这两种冒泡,得写上下面两句,就真正阻止了冒泡

e.stopPropagation();
e.nativeEvent.stopImmediatePropagation();

stopImmediatePropagation()的作用 详见 www.runoob.com/try/try.php…

至于为什么
e.nativeEvent.stopPropagation(); 不可行
而e.nativeEvent.stopImmediatePropagation();可行 还不太清楚