我创建了一个codeandbox来演示问题: https://codesandbox.io/s/cocky-wu-mibxl
由于某种原因,下拉列表打开后,链接上的onClick事件处理程序不会在打开下拉列表时触发,我也不知道为什么。希望您能在这里帮助我。
答案 0 :(得分:2)
mousedown事件通常在单击/ mouseup之前(> 50ms)发生很多,在这种情况下,dom发生了变化,并且您单击的元素不在您开始单击(mousedown)的位置,并且没有收到点击事件。您可以向useOnClickOutside cb调用添加超时,但这是非常不可靠的。
答案 1 :(得分:1)
Javascript是一种单线程语言。因此,要关闭<Dropdown>
列表,您需要先关闭alert()
框。最接近的是注释中的变通方法,或者您可以将单击链接的操作更改为OnMouseUp
而不是OnClick
。无论哪种方式,您仍然需要关闭警报框以继续执行。