M. *_*llo 5 javascript firefox javascript-events
我有一个Web应用程序,其中我已经连接鼠标和鼠标按下事件; 我使用它们来选择和操作我的应用程序是编辑器的图形语言.为了防止Firefox提供的右键单击/上下文菜单显示,我放置了:
if (evt.preventDefault) {
evt.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
在我的每个鼠标向上和鼠标按下事件处理程序的顶部.我不想归谎; 我实际上希望事件传播.
在Mac上,右键单击菜单不会显示; 这就是我的期望.然而,在Windows上,它顽固地出现,即使Firebug确认我的"preventDefault"调用正在发生,同样"defaultPrevented"被设置为true.
知道是什么给出的吗?还有其他人遇到过这个问题吗?我在Mac和Windows上运行Firefox 6.0.2.
[更新:更新版本的Firefox在Mac和Windows上产生了一致的结果:在两个平台上都无法抑制上下文菜单.]
M. *_*llo 14
好的.将它放在一边并多次返回后,我终于找到了解决方案.
尝试在各种鼠标监听器中处理上下文菜单的外观似乎存在根本缺陷.相反,感谢我在这里找到的代码,我被置于contextmenu事件的气味中.这个事件似乎是处理事情的正确方法,虽然实际发布在该网站上的代码没有做到这一点 - 仅仅调用"stopPropagation"并返回false是不够的.
以下对我有用:
element.addEventListener('contextmenu', function(evt) {
evt.preventDefault();
}, false);
Run Code Online (Sandbox Code Playgroud)
这已经在Mac上使用Firefox 10.0和在Windows 7上使用Firefox 9.0.1和10.0进行了测试.
| 归档时间: |
|
| 查看次数: |
8387 次 |
| 最近记录: |