JavaScript事件监听(attachEvent、 addEventListener)
2017-10-22 17:40
483 查看
事件监听:同一个事件绑定多个事件处理程序
IE:(IE8及以下查看效果)
对象.attachEvent(‘事件(on)’,‘事件处理程序’) 添加事件
对象.detachEvent(‘事件(on)’,‘事件处理程序’) 删除事件
案例:给一个div绑定两个处理程序,查看执行顺序(需要在IE8下查看效果)
显示效果:
注:事件执行的时候先执行bb后执行的aa
想要删除事件的话可以用detachEvent
显示效果:
说了这个还有一个另外一个事件监听
FF(兼容谷歌、火狐、IE8以上)
addEventListener(‘事件’,‘处理程序’,布尔值) 添加
removeEventListener(‘事件’,‘处理程序’,布尔值) 删除
案例:给一个div绑定两个处理程序,查看执行顺序(IE8以下不支持)
显示效果:
点击div先触发aa,然后触发bb
注意:addEventListener方法可以为当前对象的同一事件,添加多个监听函数,这些函数按照添加的顺序触发,即先添加先触发,如果为同一个事件多次添加同一个监听函数,该函数只会执行一次,多余的添加将自动被去除(不必使用removeEventListener方法手动去除)
案例:删除事件监听
显示效果
删除bb后只有aa执行了!!
**事件监听的优点:
1.可以绑定多个事件
2.可以解除相应的绑定**
IE:(IE8及以下查看效果)
对象.attachEvent(‘事件(on)’,‘事件处理程序’) 添加事件
对象.detachEvent(‘事件(on)’,‘事件处理程序’) 删除事件
案例:给一个div绑定两个处理程序,查看执行顺序(需要在IE8下查看效果)
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .box{ width: 200px; height: 200px; background: deeppink; } </style> </head> <body> <div class="box"></div> <script> var box=document.querySelector('.box'); box.attachEvent('onclick',aa); box.attachEvent('onclick',bb); function aa(){ alert('这个是aa处理程序!'); } function bb(){ alert('这个是bb处理程序!'); } </script> </body> </html>
显示效果:
注:事件执行的时候先执行bb后执行的aa
想要删除事件的话可以用detachEvent
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .box{ width: 200px; height: 200px; background: deeppink; } </style> </head> <body> <div class="box"></div> <script> var box=document.querySelector('.box'); box.attachEvent('onclick',aa); box.attachEvent('onclick',bb); box.detachEvent('onclick',bb);//删除bb处理程序 function aa(){ alert('这个是aa处理程序!'); } function bb(){ alert('这个是bb处理程序!'); } </script> </body> </html>
显示效果:
说了这个还有一个另外一个事件监听
FF(兼容谷歌、火狐、IE8以上)
addEventListener(‘事件’,‘处理程序’,布尔值) 添加
removeEventListener(‘事件’,‘处理程序’,布尔值) 删除
案例:给一个div绑定两个处理程序,查看执行顺序(IE8以下不支持)
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .box{ width: 200px; height: 200px; background: deeppink; } </style> </head> <body> <div class="box"></div> <script> var box=document.querySelector('.box'); box.addEventListener('click',aa,false); box.addEventListener('click',bb,false); function aa(){ alert('这个是aa处理程序!'); } function bb(){ alert('这个是bb处理程序!'); } </script> </body> </html>
显示效果:
点击div先触发aa,然后触发bb
注意:addEventListener方法可以为当前对象的同一事件,添加多个监听函数,这些函数按照添加的顺序触发,即先添加先触发,如果为同一个事件多次添加同一个监听函数,该函数只会执行一次,多余的添加将自动被去除(不必使用removeEventListener方法手动去除)
案例:删除事件监听
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .box{ width: 200px; height: 200px; background: deeppink; } </style> </head> <body> <div class="box"></div> <script> var box=document.querySelector('.box'); box.addEventListener('click',aa,false); box.addEventListener('click',bb,false); box.removeEventListener('click',bb,false);//删除bb function aa(){ alert('这个是aa处理程序!'); } function bb(){ alert('这个是bb处理程序!'); } </script> </body> </html>
显示效果
删除bb后只有aa执行了!!
**事件监听的优点:
1.可以绑定多个事件
2.可以解除相应的绑定**
相关文章推荐
- 多个onclick在一起只执行最后一个的问题解,其它是事件处理引发的问题 (JavaScript的监听事件函数attachEvent和addEventListener)
- javascript attachEvent addEventListener 监听事件
- JS事件监听 JS:attachEvent和addEventListener 使用方法
- 分享一下事件监听addEventListener----attachEvent的用法
- JS事件监听 JS:attachEvent和addEventListener 使用方法
- JavaScript-4.6鼠标事件监听,获取鼠标坐标window.event---ShinePans
- [ javascript ] attachEvent事件!
- Javascript关于绑定事件方法attachEvent和addEventListener区别与兼容写法
- JavaScript中,四种事件绑定方法及attachEvent与addEventListener的区别
- js监听事件方法addEventListener()兼容非IE和attachEvent()兼容IE
- [No00006A]Js的addEventListener()及attachEvent()区别分析【js中的事件监听】
- JS事件监听 JS:attachEvent和addEventListener 使用方法
- javascript注册事件-addEventListener和attachEvent
- 监听事件绑定(addEventListener、attachEvent)和移除(removeEventListener、detachEvent)
- JS事件监听 JS:attachEvent和addEventListener 使用方法
- 事件监听addEventListener----attachEvent
- javascript addEventListener和attachEvent 事件绑定
- 关于attachEvent和addEventListener事件监听
- JavaScript为元素动态添加事件之(attachEvent||addEventListener)
- JS事件监听 JS:attachEvent和addEventListener 使用方法