如何检测哪些对象或 ID 或用户右键单击?我正在使用 onContextMenu 触发一个函数,但我不知道如何检测目标。
问问题
3220 次
3 回答
5
<html>
<head>
<script type="text/javascript">
if (document.addEventListener) {
document.addEventListener('contextmenu', function(e) {
alert(e.target.nodeName); //or e.target.getAttribute('id')
e.preventDefault();
}, false);
} else {
document.attachEvent('oncontextmenu', function(e) {
alert(window.event.srcElement.nodeName); //or e.srcElement and then like above
window.event.returnValue = false;
});
}
</script>
</head>
<body>
<span>Lorem ipsum...</span><br/>
body content
</body>
</html>
PS。我以前见过类似的代码;)
于 2011-02-05T21:13:24.643 回答
0
你的处理程序应该接受一个事件对象作为它的参数;事件的 srcElement 属性将是触发事件的对象。
于 2011-02-05T20:43:58.410 回答
0
正如帕特里克所提到的,您正在接收一个事件对象作为 onContentMenu 回调函数的参数,您可以在其中找到触发事件的元素。我正在使用此代码来实现跨浏览器兼容性。
var oE = event.srcElement || event.originalTarget;
注意: originalTarget 是 Mozilla 特定的。您可能需要注意 event.target https://developer.mozilla.org/en/DOM/event.target
于 2011-02-05T20:58:18.550 回答