js事件冒泡 监听

这篇博客介绍了JavaScript中的事件冒泡、事件监听、事件捕获以及事件的默认行为。讲解了如何使用stopPropagation和preventDefault来控制事件流程,并展示了事件委托的概念和实现,通过动态添加按钮并利用事件委托来实现点击按钮显示其文本内容。
摘要由CSDN通过智能技术生成

事件冒泡

bubbles 返回布尔值,指示事件是否是冒泡事件类型。 默认true
cancelBubble 返回布尔值,指示事件是否取消了冒泡事件。 默认false

oBox1.οnclick=function(ev){
ev=ev||window.event;
alert(“box1”);
if(ev.stopPropagation){
ev.stopPropagation()
}else{
// 除IE外的主流浏览器
ev.cancelBubble=true;
}
}

事件监听

box1可以多次进行监听不会被下一次监听覆盖

oBox1.addEventListener(“click”,function(ev){
console.log(ev);
console.log(“添加了监听事件01”)
},false)

事件捕获

oBox4.addEventListener(“click”,function(){
alert(“box4”)
},true)

默认事件

cancelable 返回布尔值,指示事件是否拥有可取消的默认动作。
defaultPrevented 返回布尔值,表明当前事件是否调用了 event.preventDefault()方法。

默认事件:元素本身自带的事件

oAnchor.onclick = function (ev) {
    ev = ev || window.event;
    if (ev.preventDefault) {
        ev.preventDefault()
    } else {
        return false;
        // ev.returnValue=true;
    }
    console.log(ev)
}

事件委托

oAdd.οnclick=function(){
var newBtn=document.createElement(“BUTTON”);
newBtn.innerText=“按钮”+index;
newBtn.className=“btn”;
oBox.appendChild(newBtn);
index++;
}

oBox.addEventListener(“click”,function(ev){
if(ev.target&&ev.target.nodeName==“BUTTON”){
console.log(ev.target.innerText)
}
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值