使用JavaScript检测单击的目标?
如何检测用户右键单击的对象或ID?我正在使用onContextMenu触发函数,但我不知道如何检测目标。您的处理程序应该接受事件对象作为其参数;事件的srcElement属性将是触发事件的对象。如上文所述,您正在接收一个事件对象作为onContentMenu回调函数的参数,您可以在其中找到触发事件的元素。我使用此代码是为了实现跨浏览器兼容性使用JavaScript检测单击的目标?,javascript,contextmenu,dhtml,right-click,Javascript,Contextmenu,Dhtml,Right Click,如何检测用户右键单击的对象或ID?我正在使用onContextMenu触发函数,但我不知道如何检测目标。您的处理程序应该接受事件对象作为其参数;事件的srcElement属性将是触发事件的对象。如上文所述,您正在接收一个事件对象作为onContentMenu回调函数的参数,您可以在其中找到触发事件的元素。我使用此代码是为了实现跨浏览器兼容性 var oE = event.srcElement || event.originalTarget; 注意:originalTarget是特定于Mozil
var oE = event.srcElement || event.originalTarget;
注意:originalTarget是特定于Mozilla的。您可能需要注意event.target
if(文件增补列表器){
document.addEventListener('contextmenu',函数(e){
警报(e.target.nodeName);//或e.target.getAttribute('id'))
e、 预防默认值();
},假);
}否则{
document.attachEvent('oncontextmenu',函数(e){
alert(window.event.srceelement.nodeName);//或e.srceelement,然后与上面类似
window.event.returnValue=false;
});
}
Lorem ipsum…
身体内容
另外,我以前见过类似的代码;)
<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>