首页 > 解决方案 > Chrome:如果页面可滚动,则不会触发带有鼠标中键的辅助单击事件

问题描述

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

但是,一旦页面可滚动,该事件就不再触发,并且中间单击的标准行为开始(通过移动鼠标滚动页面)。

中键触发滚动

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

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

标签: javascripthtmlgoogle-chromecustom-element

解决方案


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

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

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

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


推荐阅读