Chrome:如果页面可滚动,则不会触发带有鼠标中键的辅助点击事件

Chrome: Auxiliary Click Event with Middle Mouse Button not fired if page is scrollable

我尝试通过向 auxclick-Event 添加侦听器来检测 鼠标中键单击 HTML 自定义元素。只要页面不可滚动,这在 Chrome 在 Win 10 机器上完全可以正常工作。

然而,一旦页面可滚动,事件就不再触发,标准的中键点击行为开始(通过移动鼠标滚动页面)。

有谁知道解决这个问题的方法吗?

我创建了一个小的 CodePen 来演示该行为。 如果不滚动它就可以正常工作,但是如果您在 CSS 窗格 (min-height: 200vh;) 中取消注释第 2 行,则中间单击会触发滚动行为。

感谢 iѕєρєня 为我指明了正确的方向。

如果我也收听 mousedown-Event,请检查它是否是通过中间单击触发的,然后阻止默认行为,一切似乎都正常。

查看更新后的 CodePen 以获得完整的解决方案。

我仍然认为这是一种 hack。如果有人知道为什么 Chrome 会这样,我会很高兴,如果你愿意在这里分享。 ;)