4

我正在将应用程序移植到 JavaScript/CSS 并使用右键单击。出于某种原因,Windows 版 Firefox 3.6 没有发出右键单击事件,但 Chrome 和 IE 会发出。这是一些测试代码。如果您右键单击#test,那么您在 Firefox 中什么也得不到,但在 Chrome 和 IE 下您会收到警报。

<html>
    <head>
        <title>Hi</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
        $(function(){
            $("#test").get(0).oncontextmenu = function() { return false; };
            $("#test").mousedown(function() { alert("hi"); });
        });
        </script>
    </head> 
    <body>
        <div id="test" style="background: red;">Hi</div>
    </body>
</html>

为什么在 Firefox 中没有生成右键单击事件?

4

5 回答 5

3

我发现了问题。我安装了“多合一手势”扩展。我尝试在禁用它的情况下运行代码,它运行良好。看起来像扩展的错误/限制。

更新:我刚刚尝试了“鼠标手势氧化还原”扩展,它没有这个问题。

于 2010-03-14T23:48:34.060 回答
2

Firefox 3.6 在我的 Mac (OSX 10.5) 上左键或右键单击都可以很好地发出警报,Safari 和 Google Chrome 也是如此。不知道为什么您的 Windows 版本不 - 听起来不像是您的编程问题,更像是 Firefox/Windows 错误...?

于 2010-03-14T23:03:43.913 回答
2

Firefox 中有一个选项:内容 => Javascript => 高级 => 允许禁用/替换上下文菜单。

于 2010-03-14T23:08:51.830 回答
1

我测试了你的代码。Firefox 3.6 在我的 XP (SP3) 机器上发出警报。

于 2010-03-14T23:10:56.113 回答
0

只是为了添加到列表中。我安装了阻止右键单击的 Multi Links 附加组件。

于 2010-08-05T19:46:16.417 回答