第三章 JavaScript 事件模型
现代事件处理程序指派方法
IE浏览器:
1、attachEvent():用于将一个事件处理程序绑定到一个事件
2、detachEvent():用于解除事件处理程序的绑定
DOM:
1、addEventListener()
2、removeEventListener()
这两种方法有三个参数:事件的名称,要指派的函数,是否处理程序要用在冒泡或捕捉阶段。如果程序用在捕获阶段,第三个参数为true;如果用在冒泡阶段,第三个参数设为false。
Event对象
定位:
1、在IE浏览器中
oDiv.onclick = function() {
var oEvent = window.event;
}
2、DOM
1)
oDiv.onclick = function() {
var oEvent = arguments[0];
}
2)
oDiv.onclick = function(oEvent) {
}
属性和方法
DOM的event对象的属性和方法(部分):
keyCode:指示按下的键盘的数字表示器
preventDefault():阻止事件的默认行为
stopPropagation():阻止事件的进一步传播(冒泡)
target:触发的事件元素/对象
clientX、clientY:鼠标指针相对于浏览器的X、Y坐标
pageX、pageY:鼠标指针相对于页面的X、Y坐标
screenX、screenY:鼠标指针相对于计算机屏幕的X、Y坐标
鼠标事件:
click:点击鼠标左键;焦点在一个按钮上,按Enter键时,发生click事件。
dblclick:双击鼠标左键时,发生该事件
mousedown:按下任意鼠标按钮时,发生该事件
mouseout:鼠标移出某一元素时,发生该事件
mouseover:鼠标移动到某一元素上时,发生该事件
mouseup:当用户释放任何鼠标按钮时,发生该事件
mousemove:当光标在一个元素上时,重复发生该事件
键盘事件:
keydown:在键盘上按下一个键时发生。若按住键不放,它将重复发生
keypress:在键盘上按下一个字符键(不包括shift和Alt键等)。若按住键不放,它将重复发生
keyup:释放一个按下的键时发生
HTML事件:
load事件:在窗口中,当页面被全部装载时
select事件:在一个文本框(input或者textarea元素)中,当选择一到多个字符时,触发该事件
change事件:在一个文本框(input或者textarea元素)中,当它失去焦点,并且其值被改变;在select元素中,当它的值改变时,触发change事件
scroll事件:当滚动有滚动条的任何元素时,触发该事件
focus事件:当任何元素或者窗口获得焦点时,触发该事件
blur事件:当任何元素或者窗口失去焦点时,触发该事件