如果兩個onclick
彼此重疊,我想知道如何阻止第二個啓動。停止其他onclick事件
例子:
<div id="div1" onclick="alert('a');">
a
<div id="div2" onclick="alert('b');">
b
</div>
a
</div>
如果點擊DIV2,我想只有alert(b)
,而不是事後alert(a)
。
FIDDLE:https://jsfiddle.net/ae9av150/2/
如果兩個onclick
彼此重疊,我想知道如何阻止第二個啓動。停止其他onclick事件
例子:
<div id="div1" onclick="alert('a');">
a
<div id="div2" onclick="alert('b');">
b
</div>
a
</div>
如果點擊DIV2,我想只有alert(b)
,而不是事後alert(a)
。
FIDDLE:https://jsfiddle.net/ae9av150/2/
<div id="div1" onclick="alert('a');">
a
<div id="div2" onclick="alert('b');event.stopPropagation();">
b
</div>
a
</div>
<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 < 9,你應該使用event.cancelBubble =真
做這樣的。
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>