简单来说
e.stopPropagation() 可以阻止合成事件之间的冒泡 不可以阻止合成事件到原生事件的冒泡
因为React委托的document 和原生document不是同一个事物
e.stopPropagation()阻止的只是到react对应document
而当事件触发时,会向 react和原生document两个方向传递
如果要阻止这两种冒泡,得写上下面两句,就真正阻止了冒泡
e.stopPropagation();
e.nativeEvent.stopImmediatePropagation();
stopImmediatePropagation()的作用 详见 http://www.runoob.com/try/try.php?filename=tryjquery_event_stoppropagation
至于为什么
e.nativeEvent.stopPropagation(); 不可行
而e.nativeEvent.stopImmediatePropagation();可行 还不太清楚
时间: 2024-10-03 23:53:30