2011-02-05 38 views

回答

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。我以前見過類似的代碼;)

+0

大聲笑,謝謝!!!!! – 2011-02-05 21:36:41

0

你的處理程序應該接受一個事件對象作爲它的參數;事件的srcElement屬性將是觸發事件的對象。

0

由於帕特里克提到,您正在接收事件對象作爲您的onContentMenu回調函數的參數,您可以在其中找到觸發事件的元素。我正在使用此代碼來實現跨瀏覽器兼容性。

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

注意:originalTarget是Mozilla特有的。您可能需要關注event.target https://developer.mozilla.org/en/DOM/event.target