如果两个onclick
在彼此之上,我想知道如何阻止第二个发射。
示例:
<div id="div1" onclick="alert('a');">
a
<div id="div2" onclick="alert('b');">
b
</div>
a
</div>
如果点击div2,我希望之后只有alert(b)
,而不是alert(a)
。
答案 0 :(得分:9)
<div id="div1" onclick="alert('a');">
a
<div id="div2" onclick="alert('b');event.stopPropagation();">
b
</div>
a
</div>
答案 1 :(得分:1)
<div id="div1" onclick="alert('a');">
a
<div id="div2" onclick="event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);alert('b');">
b
</div>
a
</div>
参考:http://javascript.info/tutorial/bubbling-and-capturing 对于IE&lt; 9,您应该使用event.cancelBubble = true
答案 2 :(得分:0)
这样做。
window.onload = function() {
document.getElementById("div2").onclick = function(e){
e.stopPropagation();
alert('b');
}
}
HTML
<div id="div1" onclick="alert('a');">
a
<div id="div2">
b
</div>
a
</div>