Javascript 如何捕获右击事件?
在文档元素上捕获右键单击事件的方法是什么?我在任何地方都找不到任何事件处理程序。右键单击在许多浏览器上都很特殊,它会触发Javascript 如何捕获右击事件?,javascript,html,Javascript,Html,在文档元素上捕获右键单击事件的方法是什么?我在任何地方都找不到任何事件处理程序。右键单击在许多浏览器上都很特殊,它会触发上下文菜单事件,而不是单击事件。有些浏览器允许您阻止默认行为,有些(例如Opera)则不允许。详情如下: 编辑:重新阅读该页面(已经有一段时间了),看起来mousedown和mouseup比contextmenu更可靠(尽管所有主要浏览器都会触发contextmenu)点击,另一方面,在任何重要的浏览器上似乎根本不会发生。我认为有一个事件“oncontextmenu”,您可以将
上下文菜单
事件,而不是单击
事件。有些浏览器允许您阻止默认行为,有些(例如Opera)则不允许。详情如下:
编辑:重新阅读该页面(已经有一段时间了),看起来mousedown
和mouseup
比contextmenu
更可靠(尽管所有主要浏览器都会触发contextmenu
)<代码>点击,另一方面,在任何重要的浏览器上似乎根本不会发生。我认为有一个事件“oncontextmenu”,您可以将其挂起
这是基于jQuery的contextmenu处理程序
附言:不过在我的歌剧中它不起作用。你可以用
的事件处理程序属性
右键单击窗口上的事件
如果您需要禁用页面中的右键单击,那么您可以使用类似的方法
window.oncontextmenu = function () {
return false;
}
或者,如果您需要提供自己的自定义上下文菜单,也可以在函数内部编码。您可能需要单击或鼠标向下/向上事件。发件人: 事件具有“按钮”属性 所以lmb是0 mmb为1 人民币是2元
function doSomething(e) {
var rightclick;
if (!e) var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
alert('Rightclick: ' + rightclick); // true or false
}