1、添加事件监听
addEventListener(“事件名”,执行函数名,bool值);
可以为元素添加多个事件处理程序,触发时会按照添加顺序依次调用。
2、移除事件监听
removeEventListener(“事件名”,执行函数名,bool值);
不能移除匿名添加的函数
3、事件的冒泡与捕获
DOM2级事件包含3个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段
例 :<span><a></a></span>
点击a后捕获阶段事件传播会从document-> span->a,然后发生在a,最后冒泡阶段阶段事件传播会从a->span->document 。
可以选择绑定事件时采用事件捕获还是事件冒泡,方法就是绑定事件时通过addEventListener函数,它有三个参数,第三个参数若是true,则表示采用事件捕获,若是false,则表示采用事件冒泡
一、什么是事件对象
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。事件通常与函数结合使用,函数不会在事件发生前被执行!
1、event.stopPropagation():终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点
2、event.preventDefault() :取消事件的默认动作。
3、event.clientX、event.clientY:鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。
4、event.offsetX、event.offsetY:鼠标相对于事件源元素(触发事件的元素)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性。
5、event.screenX、event.screenY:鼠标相对于用户显示器屏幕左上角的X,Y坐标。标准事件和IE事件都定义了这2个属性
6、event.keyCode:获得按键的code值