DOM中的事件对象和IE事件对象
| DOM中的事件对象 | IE事件对象 | ||||||
| 属性/方法 | 类型 | 读/写 | 说明 | 属性/方法 | 类型 | 读/写 | 说明 |
| bubles | Boolean | 只读 | 表明事件是否冒泡 | cancleBubble | Boolean | 读/写 |
默认为false,但将其设置为true就可以取消事件冒泡 (与DOM中的stopPropagation()方法的作用相同) |
| cancelable | Boolean | 只读 | 表明是否可以取消事件的默认行为 | returnValue | Boolean | 读/写 |
默认为true,但将其设置为false就可以取消事件的默认行为 (与DOM的preventDefault()方法的作用相同) |
| currentTarget | Element | 只读 | 其事件处理程序当前正在处理事件的那个元素 | scrElement | Element | 只读 | 事件的目标(与DOM中的target属性相同) |
| defaultPrevented | Boolean | 只读 |
为true表示已经调用了preventDefault() (DOM3级事件新增)是否取消默认事件 |
type | String | 只读 | 被触发的事件类型 |
| detail | Integer | 只读 |
与事件相关的的细节信息 |
||||
| eventPhase | Integer | 只读 |
调用事件处理程序的阶段:1表示捕获阶段, 2表示‘处于目标’,3表示冒泡阶段 |
||||
| preventDefault() | Function | 只读 |
取消事件的默认行为,如果cancelable为true 则可以使用这个方法 |
||||
| stopImmediatePropagation() | Function | 只读 |
取消默认事件的进一步捕获或冒泡, 同时阻止任何事件处理程序被调用(DOM3级事件中新增) |
||||
| stopPropgation() | Function | 只读 |
取消事件进一步捕获或冒泡。如果bubbles为 true,则可以使用这个方法 |
||||
| target | Element | 只读 | 事件的目标 | ||||
| trusted | Boolean | 只读 |
为true表示是浏览器生成的 为false表示是由开发人员通过js创建的 |
||||
| type | String | 只读 |
被触发的事件类型 |
||||
| view | AbstractView | 只读 |
与事件关联的抽象视图 等同于发生事件的window对象 |
||||
兼容DOM的浏览器会将一个Event对象传入到事件处理程序中,无论事件处理程序使用什么方法(DOM0或DOM2),都会传入Event对象
IE中的事件对象
访问IE中的event对象和DOM不一样,取决于制定事件处理程序的方法,在试用Dom0级方法添加事件处理程序时,event对象作为window对象的一个属性存在
DOM0级方法
obj.onclick = function(){
alert(window.event.srcElement.parentNode);
window.event.returnValue = false;
return false;
}
如果是用attachEvent添加
obj.attachEvent('onclick',function(event){
alert(event.type);
});
oDiv.attachEvent('onclick',function(){
document.body.innerHTML += this; //attachEvent内部this指向window
});
因为在IE中事件处理程序的作用域是根据制定他的方式确定的,所以不能认为this会始终等于事件目标故而使用Event.srcElement 事件源元素
取消事件的默认行为
var link = document.getElementById('a1');
link.onclick = function(event){
alert(window.event.type);
window.event.returnValue = false;
}
取消事件冒泡
var link = document.getElementById('a1');
link.onclick = function(event){
alert(window.event.type);
window.event.cancelBubble = true;
}
DOM中的事件对象和IE事件对象的更多相关文章
- python 全栈开发,Day55(jQuery的位置信息,JS的事件流的概念(重点),事件对象,jQuery的事件绑定和解绑,事件委托(事件代理))
一.jQuery的位置信息 jQuery的位置信息跟JS的client系列.offset系列.scroll系列封装好的一些简便api. 一.宽度和高度 获取宽度 .width() 描述:为匹配的元素集 ...
- jQuery基础(4)- 位置信息、事件流、事件对象、事件代理、jquery事件
一.jQuery的位置信息 jQuery的位置信是JS的client系列.offset系列.scroll系列封装好的一些简便api. 1.宽度和高度 a.获取宽度和高度,例如: .width() // ...
- javascript的阻止默认事件和阻止冒泡事件
这两个方面的知识,在妙味课堂中有听过,再次复习一下: 原文来自:[http://www.cnblogs.com/Essence/p/4266618.html] 事件冒泡与默认行为 在说事件冒泡之前 ...
- DOM中的事件对象
三.事件对象事件对象event1.DOM中的事件对象(1).type:获取事件类型(2).target:事件目标(3).stopPropagation() 阻止事件冒泡(4).preventDefau ...
- js事件对象--DOM中的事件对象/IE中的事件对象/跨浏览器的事件对象
事件对象 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型,以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对 ...
- DOM中的事件对象(event)
在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件相关的信息. 包括导致事件的元素.事件的类型以及其他与特定事件相关的信息. 例如:鼠标操作导致的事件对象中,会包含鼠 ...
- JavaScript 中的window.event代表的是事件的状态,jquery事件对象属性,jquery中如何使用event.target
http://wenda.haosou.com/q/1373868839069215 http://kylines.iteye.com/blog/1660236 http://www.cnblogs. ...
- 理解DOM中的事件流
浏览器发展到第四代时(IE4和Netscape Communicator 4),浏览器团队遇到一个很有意思的问题:页面的哪一部分会拥有特定的事件?想象下在一张纸上有一组同心圆,如果你把手指放在圆心上, ...
- react事件中的事件对象和常见事件
不管是在原生的js还是vue中,所有的事件都有其事件对象,该事件对象event中包含着所有与事件相关的信息,在react中,所有的事件也有其事件对象,在触发DOM上的某个事件时,就会产生一个事件对象. ...
随机推荐
- Java后端工程师的学习技术栈
https://loveincode.cnblogs.com/
- C#字符串长度判断
string aaa = "你好123"; Label1.Text = aaa.Length.ToString(); //结果5 Label2.Text = System.Tex ...
- Repeater绑定数据 后台自定义的DataTable
前台:<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplat ...
- 通过docker-compose构建ghost博客(二)
上一篇通过yml文件构建 ghost博客,这次通过构建nginx服务,并添加反向代理来运行搭建的ghost博客. 目录结构 ghost.conf 就是 定义的nginx 加载的配置文件 server ...
- mySLQ数据库 练习题
MySQL 练习题1 DROP TABLE IF EXISTS `liuyan`; CREATE TABLE `liuyan` ( `id` int(11) NOT NULL AUTO_INCREME ...
- idea spring-boot gradle mybatis 搭建开发环境
使用工具idea 2017.2开发,gradle构建项目,使用的技术有spring-boot.mybatis 1.新建项目 说明:1.src为源码路径,开发主要在src下 2.src/main/jav ...
- How to Solve Lonsdor K518ISE Abnormal Display by Factory Resetting
Here’s the working solution to Lonsdor K518ISE Key Programmer abnormal display after upgrade. Proble ...
- linux shell 重定向中的 & 符号
写一个简单的 demo 示例 #include <stdio.h> int main() { fprintf(stdout, "stdout output\n"); f ...
- Servlet开发的三种方法
第一种 实现 Servlet 接口,需要覆写 Servlet 的5个方法,并将ServletConfig对象保存到类级变量中 package app01a; import java.io.IOExce ...
- java链表实现
import java.util.Scanner; class DATA2 { String key; // 结点的关键字 String name; int age; } class CLType / ...