Rumah > Soal Jawab > teks badan
HTML:
<p id="container">
<p id="inner">
</p>
</p>
JS:
document.getElementById('container').addEventListener('click',function () {
document.getElementById('inner').style.display = "none";
});
Apabila saya klik pada elemen kanak-kanak, ia akan hilang. Bagaimana untuk mengelakkan situasi ini? Saya tidak mahu mengikat acara klik pada elemen kanak-kanak juga.
曾经蜡笔没有小新2017-06-12 09:24:56
document.getElementById('container').addEventListener('click',function (e) {
document.getElementById('inner').style.display = "none";
e.stopPropagation();
}, true);
ialah addEventListener
传递第三个参数 true
. Gunakan tangkapan peristiwa.
https://developer.mozilla.org...
e.stopPropagation()
Hentikan penyebaran insiden.
https://developer.mozilla.org...
仅有的幸福2017-06-12 09:24:56
https://jsfiddle.net/g5u7qrrd/6/
document.getElementById('container')
.addEventListener('click',function (e) {
if (e.target.id !== 'inner')
document.getElementById('inner').style.display = "none";
});
仅有的幸福2017-06-12 09:24:56
Tambahkan pointer-events: none;
pada gaya elemen kanak-kanak dan abaikan acara tetikus secara langsung. IE mungkin perlu serasi.