gpt4 book ai didi

javascript - 如何正确处理 Firefox 中的左键和右键单击

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:45 27 4
gpt4 key购买 nike

我正在开发一个 Web 应用程序,我希望在该应用程序中,无论我左键单击还是右键单击某个元素,它都会发生不同的操作。

所以我首先添加了一个函数来使用 jQuery 处理 click 事件,然后添加了第二个函数来处理我的元素的 oncontextmenu 属性。

这在 Chrome 和 IE 中运行良好,但在 Firefox 中会导致问题:当我右键单击一个元素时,令人惊讶的是我处理左键单击的函数被调用,然后我处理左键单击的函数调用右键单击。

如何让Firefox在右键时不调用左键功能?

最佳答案

是的,浏览器传统上将右键单击发送到 onclick 处理程序,使用 event.which属性设置为 3 而不是 1。IE 使用 oncontextmenu 代替,然后 Firefox 除了通常的 onclick 之外还选择了 oncontextmenu。为了迎合浏览器的需要,您必须捕获这两个事件⟩—⟩或者找到一个插件来为您完成。

请注意,即使解决了这个问题,您仍然不能保证获得右键单击事件或能够禁用标准上下文菜单。因为许多网页滥用了这个能力,它在许多浏览器中被禁用,有时默认被禁用(例如在 Opera 中)。如果您的应用提供右键单击操作,请始终确保有其他方法可以显示它们。

关于javascript - 如何正确处理 Firefox 中的左键和右键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/589698/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com