理解事件冒泡与事件捕获
外面:id为1
中间:id为2
里面:id为3
请点击复选框控件
function logText(e) {
console.log(this.classList.value);
}
divs.forEach(div => div.addEventListener('click', logText));
function logText(e) {
console.log(this.classList.value);
}
divs.forEach(div => div.addEventListener('click', logText, {
capture: true,
}));
function logText(e) {
console.log(this.classList.value);
e.stopPropagation(); // one ; two ; three
}
divs.forEach(div => div.addEventListener('click', logText));
function logText(e) {
console.log(this.classList.value);
e.stopPropagation();/
}
divs.forEach(div => div.addEventListener('click', logText, {
capture: true,
}));
document.querySelector("#id-checkbox").addEventListener("click", function(event){
alert("preventDefault会阻止该复选框被勾选.")
event.preventDefault();//无法勾选选项框
console.log(event.defaultPrevented);//true
//阻止该复选框被勾
}, false);
document.querySelector("#id-checkbox").addEventListener("click", function(event){
event.preventDefault();//可以勾选选项框
console.log(event.defaultPrevented);//false
}, {passive:true});//Unable to preventDefault inside passive event listener invocation.