js事件对象
1、进入博客
在js中调用未被定义的变量,一般会报错。我觉得这也是为什e = e||event中event要放在后面的原因。如果写成window.event ,其放在前面应该也没关系
3、event对象:
属性和方法:
属性:
button:判断按鼠标上的哪个键
0:没有按键
1:左键
2:右键
3:中间键
altKey:alt键 true false
ctrlKey:
shiftKey:
clientX/clientY:可视区域的坐标
offsetX/offsetY:源元素的坐标
pageX/pageY/x/y:整个页面的坐标
screenX/screenY:相对于屏幕的坐标
keyCode:返回键盘上对应的值
target/srcElement:触发事件的对象
方法:
addEventListener():添加监听事件
btn.addEventListener('事件的类型',函数名,true/false)
btn.addEventListener('click',function(){
this.style.background = "yellow"
})
btn.addEventListener('click',fun)
function fun(){
this.style.background = "yellow"
}
可以添加多个事件,不会被覆盖
removeEventListener():删除监听事件
btn.removeEventListener()
如果添加到监听函数是匿名的话就删除不了
preventDefault():阻止默认事件
stopPropagation():阻止冒泡
dom2级事件:
事件流:
事件冒泡:从里往外false,默认false
事件捕获:从外往里true
阻止事件冒泡:
btn.addEventListener('click',function(e){
var e = e || window.event
//this.style.border = "1px red solid";
e.stopPropagation();
})
阻止默认事件:
a submit
a.onclick=function(e){
var e = e || window.event
//this.style.border = "1px red solid";
e.preventDefault();
}