事件对象
用来记录事件发生时的相关信息的对象
- 只有放事件发生的时候才产生,只能在处理函数内部访问
- 处理函数运行结束时自动销毁
获取事件对象
1
2
3
4
5
6
7
8
9
10
11
| var box = document.getElementById('box');
//IE
box.onclick = function(){
var ev = window.event
}
//firefox
box.onclick = function(e){
var ev = e;
}
|
事件对象的属性
鼠标事件
1
2
3
4
5
6
7
8
9
10
11
12
| //事件发生时,鼠标相对于浏览器的位置
clientX
clientY
//事件发生时,鼠标相对于事件源的位置
//IE
offsetX
offsetY
//firefox
layerX
layerY
|
键盘事件
1
2
3
4
5
6
7
| // 获得键盘码(需要用fromCharCode转换)
keyCode
//判断alt键是否被按下,按下时true反之false,布尔值,用在keydown事件里
altKey
ctrlKey
shiftKey
|
事件流
事件流分类
-
冒泡型事件
有明确的事件源到不确定的事件源依次向上触发
-
捕获型事件(IE不支持)
不确定的事件源到确定的事件源依次向下触发
阻止事件流(事件对象)
1
2
3
4
5
| //IE
事件对象.cancelBubble = true;
//firefox
事件对象.stopPropagation();
|
阻止浏览器默认行为
1
2
3
4
5
6
7
8
| //IE
事件对象.returnValue = false;
//firefox
事件对象.preventDefault();
//html中阻止
<a href="javascript:void(0);"></a>
|
日期对象
js中日期也是内置对象,对日期进行获取和操作,必须实例化对象
创建日期对象
可传入的参数格式
- “时:分:秒 月/日/年” “月/日/年 时:分:秒” 字符串
- 年,月,日,时,分,秒 不能加” “
1
2
| //不传参获取当前时间
var dateobj = new Date();
|
获取日期信息的方法
1
2
3
4
5
6
7
8
9
10
11
| getFullYear()
//获得月份(0-11)
getMonth()
getDate()
getHours()
getMinutes()
getSeconds()
//获得日期是周几(0是周日);
getDay()
//获得时间戳
getTime()
|
设置日期的方法
1
2
3
4
5
6
7
| setFullyear()
setMonth()
setDate()
setHours()
setMInutes()
setSeconds()
setTime()
|