Event level 2
来源:互联网 发布:hadoop与python 编辑:程序博客网 时间:2024/05/16 12:45
写在前面的话:
lte IE8的浏览器不支持事件捕获,只支持事件冒泡,是这样来绑定事件:element.attachEvent('onclick',doSomething),注意事件名字有前缀on。
阻止事件冒泡,在lte IE8的浏览器里通过设置window.event.cancelBubble = true;在标准浏览器里通过e.stopPropagation()来实现。
从ie9开始符合标准事件机制,任何发生在w3c事件模型中的事件,首是进入捕获阶段,直到达到目标元素,再进入冒泡阶段。在使用addEventListener()绑定事件时你可以通过最后一个参数 (useCapture)true 或 false 来设定事件发生在捕获阶段还是冒泡阶段。例如:
document.getElementById("red").addEventListener("click",function(){console.log("capture")},true);document.getElementById("red").addEventListener("click",function(){console.log("bubble")},false);//在标准浏览器里,点击 id是red的元素后 会依次输出 capture bubble,从而说明事件的发生顺序。
var event = new Event(type [, eventInitDict]);不提倡使用document.createEvent(),来创建事件对象
返回一个event对象,它的属性type的值等于参数type, 可选项参数 eventInitDicy允许你通过同名的对象成员设置 event对象的bubbles属性和cancelable属性。
event.type
返回event对象的type值,例如: "click", "hashchange",or"submit"
event.target
返回发生事件的对象
event.currentTarget
事件侦听器的回调被调用的对象(也就是说绑定事件的那个对象)
event.eventPhase
返回event的阶段,分别是 :
NONE(数值是0), 表示事件还没发生
CAPTURING_PHASE(数值是1), 表示捕获阶段
AT_TARGET(数值是2), 表示正处在发生事件的对象上
BUBBLES_PHASE(数值是3), 表示冒泡阶段
event.stopPropagation()
停止冒泡
event.stopImmediatePropagation()
假如你绑定了好几个回调函数,在其中一个回调函数里调用了stopImmediatePropagation(),那么该回调函数之后绑定的回调函数将不再执行,当前事件也回被阻止冒泡。
event.bubbles
布尔值 表示事件是否沿着DOM tree冒泡
event.cancelable
决定是否可以通过调用event.preventDefault()来取消默认行为
event.preventDefault()
当 event.cancelable是true的时候,调用event.preventDefault()通知有当前事件引起的默认动作被取消。
event.defaultPrevented
如果event.cancelable的值是true,并且event.preventDefault()被调用了,那么event.defaultPrevented就返回true,否则就是false。
event.isTrusted
如果事件是由浏览器触发的,那么就返回true,否则就false.
event.timeStamp
返回事件创建时间到1970的毫秒数
参考:
http://dom.spec.whatwg.org/#event
https://developer.mozilla.org/en-US/docs/Web/API/Event
- Event level 2
- DOM Level 2 Event与jQuery源码:捕获与冒泡
- DOM2中的高级事件处理(Advanced Event Handling with DOM Level 2)
- Porfessional JS(21.2-XMLHttpRequest Level 2/Progress Event/CORS)& Sharp jQuery(selectors[part])
- 17.7.2 Event accessors
- Xen Event Channel (2)
- oracle event 2
- poco 2:Event
- yii2 Event 使用2
- Event Listener-2
- Event
- Event
- Event
- Event
- Event
- event
- event
- event
- C语言插入排序算法的实现(输入任意个整数)
- CVE-2013-3906简要分析
- win 8 开启CPU虚拟化支持
- 软考-总结篇
- ubuntu12.04下安装mahout
- Event level 2
- 深入解析oracle——数据库的启动与关闭(1)!
- m2eclipse插件地址,mark一下
- ViewGroup深入简出
- 在windows下使用git,并与linux服务器交互
- ExtJs中Store的几种加载方式
- 二叉树的镜像
- 【Android】Async异步任务之添加进度条
- HRBUST OJ 1908 大数加法A+B+C