js第十一天
作者:互联网
attachEvent 事件监听方式
语法:eventTarget.attachEvent(eventNameWithOn, callback)。
eventNameWithOn:事件类型字符串,比如 onclick,onmouseover,这里要带 on。
callback:事件处理函数,当目标触发事件时回调函数被调用。
删除事件
传统方式
eventTarget.onclick = null
方法监听注册方式
eventTarget.removeEventListener(type, listenet [, useCapture])。
type:要移除什么类型的事件。
listenet:移除哪个处理函数。
注意:要用这个删除事件的话,绑定事件的时候不能用匿名函数,因为那样不能确定要解绑哪个处理函数。
DOM 事件流
事件流:它描述的是从页面中接收事件的顺序。事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即 DOM 事件流。
三个阶段:1、捕获阶段 2、当前目标阶段 3、冒泡阶段。
注意
1、js 代码中只能执行捕获或者冒泡其中的一个阶段。
2、传统方式(如 onclick ) 和 attachEvent 只能得到冒泡阶段。
3、addEventListener 的第三个参数如果是 true,表示在事件捕获阶段调用事件处理函数;如果是 false(默认为 false),表示在事件冒泡阶段调用事件处理程序。
事件对象
eventTarget.onclick = function( event ){ }
1、event 就是一个事件对象,它写到侦听函数的小括号里当做形参来看。
2、事件对象只有有了事件才会存在,它是系统自动创建的,不需要传递实参。
3、事件对象是事件一系列相关数据的集合。比如鼠标触发事件的坐标,用户按下键盘上的哪个键。
事件对象常见的属性方法
事件对象的属性 | 说明 |
e.target | 返回触发事件的对象 标准 |
e.srcElement | 返回触发事件的对象 非标准,ie6-8使用 |
e.type | 返回事件的类型,比如click、mouseover,不带on |
e.cancelBubble | 该属性阻止事件冒泡,非标准,ie6-8使用 |
e.returnValue | 该属性阻止默认事件(默认行为),非标准,ie6-8使用,比如不让链接跳转 |
事件对象的方法 | 说明 |
e.preventDefault() | 该方法阻止默认事件(默认行为),标准,比如不让链接跳转 |
e.stopPropagation() | 阻止冒泡,标准 |
标签:第十一天,对象,默认,js,eventTarget,冒泡,onclick,事件 来源: https://www.cnblogs.com/0529qhy/p/16128839.html