汇总表格
| 函数名 | 作用 |
|---|---|
| onmousemove | 检测鼠标是否移动 |
| clientX | 鼠标的X坐标 |
| clientY | 鼠标的Y坐标 |
| pageX | 相对于当前页面的X坐标 |
| pageY | 相对于当前页面的Y坐标 |
| target | 触发事件的对象,使用event.target可以调用 |
事件对象
当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参,传递进响应函数,在事件对象中封装了当前对象的一切信息,比如:鼠标的坐标,当前键盘按下了那个键,鼠标滚动的方向等等。
事件冒泡
什么是事件冒泡?
所谓的事件冒泡,指的是触发了内部事件,造成外部事件也跟着一起触发了。
取消事件冒泡
event.cancelBubble = true;
事件的委派
定义: 指将事件统一绑定给元素的共同的祖先元素,这样后代元素的事件触发时,会一直冒泡到祖先元素,从而通过祖先元素的响应函数来处理事件。事件委派是利用了冒泡,通过委派可以减少事件的绑定次数,提高程序的性能。
事件绑定
- 事件被覆盖的情况
解决上述问题的方法:
btn01.addEventListener("click",function(){这里写语句},false);
使用上面的方法不会被覆盖掉。但是IE8不支持addEventListener这个方法,需要考虑兼容性的问题。IE8可以使用attachEvent方法。
addEventListener和attachEvent中this指向的问题
- addEventListener中的this指的是绑定事件的对象
- attachEvent中的this指的是window