是否右键单击Javascript事件?如果是这样,我该如何使用它?
正如其他人所提到的,可以通过常用的鼠标事件(mousedown,mouseup,click)检测鼠标右键.但是,如果您在启动右键单击菜单时正在寻找触发事件,那么您正在查找错误的位置.右键单击/上下文菜单也可通过键盘访问(在Windows和某些Linux上使用shift + F10或上下文菜单键).在这种情况下,您正在寻找的事件是oncontextmenu
:
window.oncontextmenu = function () { showCustomMenu(); return false; // cancel default menu }
对于鼠标事件本身,浏览器将属性设置为可从事件处理函数访问的事件对象:
document.body.onclick = function (e) { var isRightMB; e = e || window.event; if ("which" in e) // Gecko (Firefox), WebKit (Safari/Chrome) & Opera isRightMB = e.which == 3; else if ("button" in e) // IE, Opera isRightMB = e.button == 2; alert("Right mouse button " + (isRightMB ? "" : " was not") + "clicked!"); }
window.oncontextmenu - MDC
看看下面的jQuery代码:
$("#myId").mousedown(function(ev){ if(ev.which == 3) { alert("Right mouse button clicked on element with id myId"); } });
价值which
将是:
1表示左键
2为中间按钮
3为右键
您可以使用该事件window.oncontextmenu
,例如:
window.oncontextmenu = function () {
alert('Right Click')
}
Please Right Click here!
雅,虽然w3c说点击事件可以检测到右键点击,但是在通常的浏览器中没有通过右击来触发onClick.
实际上,右键单击只触发onMouseDown onMouseUp和onContextMenu.
因此,您可以将"onContextMenu"视为右键单击事件.这是一个HTML5.0标准.