事件对象和事件冒泡
来源:互联网 发布:windows远程连接linux 编辑:程序博客网 时间:2024/05/17 03:28
1、事件对象
js的事件对象中保存了当前被触发事件的一些相关的属性信息,如事件源、事件发生时的鼠标位置、事件按键等。
事件对象的获取方法:
IE中可以window.event直接获取,而Firefox中则不可以,可通过如下方法获取:
var event = window.event || arguments.callee.caller.arguments[0];
2、事件源
事件源即事件发生所在的元素(是最里层元素),在IE中用event.srcElement获取,在Firefox中用event.target获取。兼容性代码如下:
var targetObj = event.srcElement || event.target;
3、事件冒泡
在默认情况下,发生在一个子元素上的单击事件(或者其他事件),如果在其父级元素绑定了一个同样的事件,此时点击子元素,click事件会首先被子元素捕获,执行绑定的事件程序,之后会被父级元素捕获,再次激发一段脚本的执行,这就是所谓的“事件冒泡”。
但有的时候,在一个子元素上处理完单击事件后,不想触发其父元素的相同事件,则需要阻止冒泡的发生,阻止冒泡的方法如下:
在IE里使用 window.event.cancelBubble = true;
在Firefox里使用 event.stopPropagation();
兼容性代码如下所示:
if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; }
4、jQuery处理事件冒泡
jQuery对DOM的事件触发具有冒泡特性,jQuery.Event对象是符合W3C标准的一个事件对象,同时jQuery.Event免去了检查兼容IE的步骤。jQuery.Event提供了一个非常简单的方法来阻止事件冒泡:event.stopPropagation();示例代码如下:
$("div").click(function(event) { event.stopPropagation(); });
- 事件对象和事件冒泡
- JS的事件对象和事件冒泡
- JS的事件对象和事件冒泡
- 事件传播和冒泡事件
- 事件冒泡和事件捕获
- 事件冒泡和事件捕获
- 事件捕获和事件冒泡
- 事件冒泡和事件捕获
- 事件冒泡和事件捕获
- 事件切换和事件冒泡
- 事件冒泡和事件捕获
- 事件冒泡和事件捕获
- 事件冒泡和事件捕获
- 事件冒泡和事件捕获
- 事件流:事件冒泡和事件捕获
- 冒泡和事件捕获
- 事件捕获和冒泡
- 事件捕获和冒泡
- 向前兼容和向后兼容
- CentOS 设置防火墙开启端口
- HTTP多线程下载文件
- 用idea生成可执行的jar文件
- Jquery方法
- 事件对象和事件冒泡
- Servlet—Session
- 探究android:largeHeap
- Java 5 特性 Instrumentation 实践
- MFC对单文档进行窗口分割。
- [Android小技巧]如何不用图片创建一个带圆角的按钮
- iOS 25个性能优化/内存优化常用方法
- Unity 实现倒计时 协程
- Runtime Method Swizzling