一. 什么是事件对象? (黑匣子)
当绑定事件的对象在触发该事件时,所发生一切信息会自动记录在一个地方,这个地方叫事件对象
二. 如何获取取事件对象?
1. 标准浏览器: 给事件触发函数传递的第一个参数.,
2. IE9以下: 内置对象 window.event,
兼容:
参数 || window.event
三. 如何获取鼠标按键的编码值?
event.button
标准浏览器 : 左 : 0 滚轮 : 1 右 : 2,
IE9以下 : 左 : 1 滚轮 : 4 右: 2,
function getButton(evt){
var e = evt || window.event; //事件对象的兼容
//区别不同的浏览器
if(evt){ //标准浏览器
return e.button;
}else if(window.event){ //IE浏览器
switch(e.button){
case 1 : return 0;
case 4 : return 1;
case 2 : return 2;
}
}
}
四. 鼠标的坐标值
1. 相对坐标值 : event.offsetX event.offsetY,
2. 绝对坐标值(页面坐标值) : event.pageX event.pageY,
3. 可视区坐标值 : event.clientX event.clientY,
4. 屏幕坐标值 : event.screenX event.screenY,
五. onkeyup/onkeydown : 监听整个键盘
event.keyCode event.charCode event.which
标准浏览器: 大写字母编码 0 大写字母编码,
IE9以下: 大写字母编码 undefined undefined,
onkeypress : 监听编辑键区
event.keyCode event.charCode event.which
标准浏览器: 大小写字母编码 大小写字母编码 大小写字母编码,
IE9以下: 大小写字母编码 undefined undefined,
六. 什么是事件流?
什么是事件捕获?
什么是事件冒泡?
如果阻止事件冒泡?
1. 标准浏览器:
2. IE:
3. 兼容: