我想停止這個div的onclick事件傳播到文檔?當用戶點擊「div」時,出現兩種警報:1)div的警報和2)文檔的警報。我想壓制文檔警報。如何停止div中的onclick事件傳播到文檔?
我知道如何使用addEventListener來做到這一點,但還有另一種方法來做到這一點?下面的問題是,我不知道如何查看事件 - 我嘗試了「event = element.onclick」,如下所示,但這不起作用。我如何獲得該活動?
<head>
<script>
function showMenu(element) {
alert("div clicked");
event = element.onclick; // HOW TO GET HOLD OF THE EVENT?
// Don't propogate the event to the document
if (event.stopPropagation) {
event.stopPropagation(); // W3C model
} else {
event.cancelBubble = true; // IE model
}
}
document.onclick = function() {
alert('document clicked');
};
</script>
</head>
<body>
<div id="foodmenu" onclick="showMenu(this);">Click inside this div</div>
or click outside the div.
</body>
太棒了!我試過你的修復,它的工作原理!非常感謝。 後續行動,如果你願意。我花了幾個小時來搜索和閱讀怪癖模式和書籍章節,無法在任何地方找到答案。權威引用在哪裏聲明事件處理程序的第一個參數是事件? (在這裏是「事件」保留關鍵字嗎?) – dougkramer 2010-06-19 18:44:41
它不一定是第一個參數。該順序由HTML中的事件設置確定,例如如果你使用了'onclick =「showMenu(this,event);那麼第二個參數就是事件數據。 – 2010-06-19 18:52:02
本說什麼:) – 2010-06-19 19:01:54