事件第二篇

事件冒泡

子元素事件触发时,父元素的事件也会被触发,就是事件往上冒

在触发事件时,会一层一层向上冒泡(同时会触发父类的事件)

阻止事件冒泡

就是阻止事件向上调用

e = e || window  // 先得到事件源对象 
​
e.stopPropagation() // 阻止事件冒泡,ie9之前的浏览器不兼容
​
e.cancelBubble = true   // ie浏览器阻止事件冒泡,利用了ie浏览器的属性cancelBubble,这个属性兼容各大浏览器,但是不遵从W3C规范,所以不建议使用
​
e.stopPropagation?e.stopPropagation():e.cancelBubble=true   // 兼容写法

默认行为

例如a标签默认会跳转页面

阻止默认行为

return false    //  方法1,ie9之前浏览器不支持(常用),通病:后续的代码不执行
​
e.preventDefault()  // 方法2,ie可以用
​
e.returnValue = false  // 针对低版本浏览器,这是个属性
​
e.preventDefault?e.preventDefault():e.returnValue=false   // 兼容写法

 事件监听

添加一个事件监听器给对应的元素绑定事件
element.addEventListener('事件名',function(){

})  // 参数一是事件名(不带on),参数二是对应执行的方法,参数三默认false为冒泡,true为捕获
 

 移除事件监听
element.removeEventListener()  // 参数一事件名,参数二对应的执行方法,必须是具体的函数名,function是对象,引用数据类型,function声明一个函数

Element.事件名 = null  // 也可以移除事件

事件委托

将自己要加的事件添加给父元素,当子元素很多时

可以通过e.target得到触发事件的子元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值