HTML:
<p id="container">
<p id="inner">
</p>
</p>
JS:
document.getElementById('container').addEventListener('click',function () {
document.getElementById('inner').style.display = "none";
});
Wenn ich auf das untergeordnete Element klicke, verschwindet es. Wie kann man diese Situation vermeiden? Ich m?chte Klickereignisse nicht auch an untergeordnete Elemente binden.
document.getElementById('container').addEventListener('click',function (e) {
document.getElementById('inner').style.display = "none";
e.stopPropagation();
}, true);
為 addEventListener
傳遞第三個參數(shù) true
。使用事件捕獲。
https://developer.mozilla.org...
e.stopPropagation()
阻止事件傳播。
https://developer.mozilla.org...
https://jsfiddle.net/g5u7qrrd/6/
document.getElementById('container')
.addEventListener('click',function (e) {
if (e.target.id !== 'inner')
document.getElementById('inner').style.display = "none";
});