如何在 React-js 中为捕获阶段注册事件处理程序?
how to register an event handler for the capture phase in React-js?
元素的默认事件在bubbling
阶段。在javascript如果我们要将其转换为捕获,我们有以下方法:
1-当useCapture的值设置为true时,事件使用捕获传播(在第三个参数中):
element.addEventListener(event, function, useCapture);
2- jQuery 只使用事件冒泡。
现在我的主要问题是,虽然我们使 evnet 内联 <div onclick= {} />
,如何在 React 中将冒泡阶段更改为捕获?
这很简单。
对于事件冒泡
<div onClick={() => { alert('Bubbling');}} >
This will result into event bubbling
</div>
用于事件捕获
<div onClickCapture={() => { alert('Capturing');}} >
This will result into event capturing
</div>
也可以参考官方文档here
元素的默认事件在bubbling
阶段。在javascript如果我们要将其转换为捕获,我们有以下方法:
1-当useCapture的值设置为true时,事件使用捕获传播(在第三个参数中):
element.addEventListener(event, function, useCapture);
2- jQuery 只使用事件冒泡。
现在我的主要问题是,虽然我们使 evnet 内联 <div onclick= {} />
,如何在 React 中将冒泡阶段更改为捕获?
这很简单。
对于事件冒泡
<div onClick={() => { alert('Bubbling');}} >
This will result into event bubbling
</div>
用于事件捕获
<div onClickCapture={() => { alert('Capturing');}} >
This will result into event capturing
</div>
也可以参考官方文档here