对li元素进行吞咽onClick事件

时间:2019-03-11 15:41:02

标签: reactjs

我正在使用react-window优化自定义下拉菜单组件。下拉菜单使用List中的react-window组件来渲染ul,传递给List的item组件使用{{ 1}}处理程序已分配(以关闭菜单并选择一个项目)。在我使用li之前,下拉组件工作正常,但是切换之后,onClick处理程序不会在每次单击每个react-window元素时触发。

在Chrome的开发工具中调查onClick时发现,li节点首次安装后,React将noop事件处理程序附加到该节点的li属性,这显然是由于某些iOS Safari错误(here)。一次单击节点后,它消失了,我的li处理程序正常启动。

如果我将事件更改为onclick,它可以正常工作,但我不必这样做;我应该能够使用onClick并可靠地启动它。

我想为此提交一个错误报告,但是我不确定是React的错误还是onMouseUp的错误。我浏览了onClick的源代码,渲染item组件似乎并没有做任何奇怪的事情。它仅使用react-window。显然,react-window事件适用于某些元素,包括我移至createElement之前的onClick元素……某种程度上,noop事件处理程序不会预先影响它们。

是否有人熟悉这种特定的iOS解决方法,为什么它突然破坏了我的事件处理程序?

0 个答案:

没有答案