大家好,又见面了,我是你们的朋友全栈君。
在元素上写事件和addEventListener()的区别
- onclick添加事件不能绑定多个事件,后面绑定的会覆盖前面的。而addEventListener能添加多个事件绑定,按顺序执行。
- onclick只能冒泡,addEventListener()可以得到捕获or冒泡。
- addEventListener方式,不支持低版本的IE。(attachEvent 支持IE)。
- 普通方式绑定事件后,不可以取消。addEventListener绑定后则可以用 removeEvenListener 取消。
- addEventListener 是W3C DOM 规范中提供的注册事件监听器的方法。
addEventListener用法:
语法: element.addEventListener( type , listener , useCapture ) – – 添加事件监听 – – type: 事件类型字符串,不使用“on”前缀 – – callback:事件处理程序(回调函数) – – useCapture:可选参数,是否使用事件捕获的方式处理事件。不传递时,默认为false,表示不使用事件捕获(使用事件冒泡),如果需要显示事件捕获,则显示传递true。
如果你对事件捕获与冒泡不太了解请看:JS事件流介绍以及阻止事件冒泡
示例:
代码语言:javascript复制document.getElementById("item").addEventListener( 'click' , (event) => {
console.log(event)
}, false )
addEventListener 第三个参数: 为 true 时,浏览器采用Capture(捕捉) 为 false 时,浏览器采用bubbing(冒泡)– 建议使用!
addEventListener兼容写法:
IE9之前浏览器使用element.attachEvent(type, callback)
代码语言:javascript复制attachEvent(type, callback)
type:事件类型字符串,使用“on”前缀 callback:事件处理程序(回调函数) 注意:因为IE9之前只有事件捕获,没有事件冒泡,所有attachEvent没有第三个参数。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157852.html原文链接:https://javaforall.cn