多个层次结构中的事件句柄React
Event handles in multiple hierarchies React
我有一个包装按钮的第三方组件:
<ExtComponent> <!-- this component has it's own internal onClick handler -->
<button />
</ExtComponent>
该组件有一个内部onClick
事件处理程序,它优先于我试图添加到<button>
的任何onClick。所以当我做时
<ExtComponent> <!-- this component has it's own internal onClick handler -->
<button onClick={this.onClick} /> <!-- this is not being triggered as ExtComponent onClick is being called instead -->
</ExtComponent>
我的组件onClick没有被调用。
有没有什么方法可以先处理onClick上的子组件(按钮),然后继续(或不)到ExtComponent onClick?
(假设我可以更改第三方组件(我可以分叉并更改它))
您不需要从组件中删除或更新点击处理程序。只要阻止事件发生就行了。
如果按钮呈现在具有单击处理程序的div中,那么可以防止单击事件传播到div。
onClick: function(event) {
event.stopPropagation();
// now handle the click
}
如果您希望在某种条件下允许事件传播,那么不要停止传播。
onClick: function(event) {
if(this.prop.foo == 'bar') {
event.stopPropagation();
} else {
// let the event trigger the upper event listeners too
}
}
相关文章:
- 链接上的IE10 jquery句柄单击事件不起作用
- 句柄未呈现
- 当页面居中时,带有inputfield的jQuery ui滑块句柄不起作用
- Node.js REST与MySQL句柄重新连接
- Node.js正确的回调错误句柄
- jQuery UI滑块-防止多个句柄重叠
- AngularJS:自定义 404 拦截器句柄 - 带有 URL 的响应
- 从扩展的 javascript 中获取 Firefox 浏览器窗口句柄
- 识别纯文本句子中的推特句柄
- Asp.net Ajax事件句柄如何与DOM事件协同工作
- 用标准javascript而不是jquery中的mousedown、mousemove和mouseup触摸事件句柄
- 引导程序句柄崩溃事件
- d3单击事件句柄(对象)
- 多个层次结构中的事件句柄React
- Javascript Slider事件句柄
- contentitable:当使用句柄时触发图像调整大小的事件
- 聚合物句柄单击自定义元素子元素中的事件
- 使用jQuery侦听DOM事件与html句柄
- 句柄模板中的 js 事件
- jquery ajax,如何在句柄页中调用 onload 事件