我想在我正在处理的网站上实现自定义上下文菜单。我已经使用了document.oncontextmenu,它适用于所有的,Opera除外,我正在开发的主要浏览器。我将如何在Opera中获得相同的结果?我需要禁用默认的上下文菜单并显示我的。Opera,自定义上下文菜单,选择右键点击
我想要做的第一件事就是拿起鼠标右键点击,因为document.body.onmousedown没有在Opera承认...
感谢,R.
我想在我正在处理的网站上实现自定义上下文菜单。我已经使用了document.oncontextmenu,它适用于所有的,Opera除外,我正在开发的主要浏览器。我将如何在Opera中获得相同的结果?我需要禁用默认的上下文菜单并显示我的。Opera,自定义上下文菜单,选择右键点击
我想要做的第一件事就是拿起鼠标右键点击,因为document.body.onmousedown没有在Opera承认...
感谢,R.
我相信歌剧故意不能将右键单击传递给脚本。我猜,太多的网站上点击右键点击“复制保护”弹出消息。
我假设更改(右键单击 - >编辑站点首选项 - >脚本 - >允许脚本检测上下文菜单事件)使Opera按照您的期望行事?
谢谢,有用的信息,但没有它没有达到我想要的,这是一种耻辱:)它不是一个版权事物,它实际上增加了功能,工作有点烦人。 – flavour404
做了一些研究,我发现了一个jQuery context menu plugin
* Opera 9.5中有一个选项,允许脚本检测右键单击一个有趣的小花絮,但 默认情况下禁用。此外, Opera仍然不允许JavaScript 禁用浏览器的默认 上下文菜单,这会导致冲突的可用性 。
发现了另一个有趣的一点,可能会导致你在正确的方向在opera.linux google group
Opera不支持JavaScript的 事件
oncontextmenu
这些 脚本中使用。 Opera确实支持onrightclick
,但正如您所看到的,默认情况下禁用了 。我在 被告知,过去我们的开发人员 实施支持不是微不足道 为使oncontextmenu
别名 为onrightclick
,前者显然 做了很多。
...并使用event.button
来测试鼠标右键单击该代码片段...
addEventListener('mouseup',function(e){
if(e && e.button == 2){
document.write('a');
return false;
}
},true);
然而,这些解决方案将会给你你的愿望(根据第一次报段)... 似乎Opera认为,在网页上右击应该总是给用户“标准”上下文菜单。
简而言之:您必须在Opera的设置中启用首选项,并且oncontextmenu不受支持,因此您必须收听mousedown或click事件。
一些脚本使用(真难看)黑客禁用Opera的自己的上下文菜单中启用时的偏好:从鼠标按下事件,创造一个无形的<输入类型=按钮>元素并在发生点击放置。因为Opera没有按钮的右键菜单,所以它的内部菜单不会出现。正如我所说的那样非常难看:-p
正确的oncontextmenu支持应该会在Opera的下一个发行版本中得到应用 - 不包括当然的微小稳定性和安全更新。如果你不喜欢丑陋的解决办法只是等待它..
这很烦人,但我听说这是一种意识形态的东西使用Opera。他们认为用户应该始终可以访问Opera上下文菜单。如果你确实找到了解决方法来禁用默认的上下文菜单,我相信有很多人想知道! – DMKing
最后,这已经在Opera 10.5中修复了 – user123444555621