javascript - Chrome:如果页面可滚动,则不会触发带有鼠标中键的辅助单击事件
问题描述
我尝试通过向其添加-Event的侦听器来检测 HTML 自定义元素上的鼠标中键单击。只要页面不可滚动,这在 Win 10 机器上的 Chrome 中完全可以正常工作。auxclick
但是,一旦页面可滚动,该事件就不再触发,并且中间单击的标准行为开始(通过移动鼠标滚动页面)。
有谁知道解决这个问题的方法?
我创建了一个小的CodePen来演示该行为。如果不滚动它就可以正常工作,但是如果您在 CSS 窗格 ( min-height: 200vh;
) 中取消注释第 2 行,则中间单击会触发滚动行为。
解决方案
感谢 iѕєρєня为我指明了正确的方向。
如果我也听mousedown
-Event ,请检查它是否已从中间单击触发,然后阻止默认行为,一切似乎都工作正常。
查看更新的CodePen以获得完整的解决方案。
我仍然认为这是一种黑客行为。如果有人知道为什么 Chrome 会这样,我会很高兴,如果你能在这里分享它。;)
推荐阅读
- angular - 将不同版本的 Angular 作为 web 组件运行
- ios - 城市飞艇+透明滚动条IOS
- c++ - 尝试显示精灵时的白色矩形
- list - 实现页面轮播指示器小部件
- ios - Xcode Plist 文件中 Firebase API 密钥的安全性
- visual-studio-code - 在 Visual Studio 代码中仅突出显示 JSON 文件中指定文件的空格
- excel - 两次使用“TextToColumns”时不需要的更改
- asp.net - 单一动作的路线混淆
- dolphindb - DolphinDB:单节点,配置流数据持久化无效
- c# - Edge 版本历史 API