Detectinig the target of the click using JavaScrip

2019-07-07 04:02发布

How do I detect what object or ID or the user right-clicked on? I'm using the onContextMenu to trigger a function but I don't know how to detect the target.

3条回答
戒情不戒烟
2楼-- · 2019-07-07 04:24

Your handler should accept an event object as its parameter; the srcElement property of the event will be the object that triggered the event.

查看更多
叼着烟拽天下
3楼-- · 2019-07-07 04:25
<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. I've seen similar code before ;)

查看更多
太酷不给撩
4楼-- · 2019-07-07 04:36

As Patrick mentioned, you are receiving an event object as parameter to your onContentMenu callback function, where you can find the element triggered the event. I am using this code for cross-browser compatibility.

var oE = event.srcElement || event.originalTarget;

Note: originalTarget is Mozilla specific. You might want to pay attention to event.target https://developer.mozilla.org/en/DOM/event.target

查看更多
登录 后发表回答