12.4
DOM0级事件元素绑定多个click最后只执行最后一个click。
DOM2级事件元素绑定多个click,都要执行
注意当绑定的多个事件名,函数名,事件发生阶段三者完全一样时,才执行最后一个
div.addEventListener("click",fn1,false)
div.addEventListener("click",fn1,false)
第二参数尽量不要使用匿名函数
区别
- dom0级绑定多个相同的事件,后者会覆盖前者,dom2级不会
- Dom0只适合普通事件,Dom2级还有指定的事件类型如DOMContentLoaded(当html文档结构加载完成之后执行)这个事件就是jquery中的$(document).ready()
Window.onload和$(document).ready()的区别
2.事件取消 DOM0级直接赋值null,DOM2级需要使用removeEventListener()
div.onclick=function(){
console.log(123)
}
div.onclick=null; DOM0级取消事件
div.addEventListener("click",fn1,false)
function fn1(){
console.log(123)
}
div.removeEventListener("click",fn1,false) DOM2级取消事件
键盘事件
键盘事件
onkeydown onkeyup
键盘事件触发时,浏览器天生给方法一个叫KeyboardEvent的对象,所有键盘的信息都在这个对象上。
我们发现ev有个属性keyCode 键盘编码
document.onkeydown=function(ev){
var ev=ev||window.event
console.log(ev.keyCode)
}
右击鼠标事件 oncontextmenu 鼠标右击事件