javaScript中的事件对象event
事件对象event,每当一个事件被触发的时候,就会随之产恒一个事件对象event,该对象中主要包括了关于该事件的基本属性,事件类型type(click、dbclick等值)、目标元素target(我的理解是事件源对象,即触发该事件的dom元素)等,以及一些与该事件相关的方法。取消事件默认行为preventDefault()、组织事件继续冒泡或捕获stopPropagation()等等,这里我仅仅列举了,项目中我用到的属性和方法。
既然事件被触发。就随之产生了一个event对象。笔者在IE中測试了。不须要通过赋值就可以使用,也许低版本号的须要吧,火狐浏览器是须要对其进行赋值的,在这里我认为须要养成一个习惯。多谢一行代码呗。每次在事件处理程序中使用event对象,都通过赋值的方式去使用:
var event = event||window.event;
事实上,默认參数数组中第一元素就是event对象,也就是说,能够用数组元素赋值
var event = arguments[0];
type属性。应该是最easy理解的,事件类型。单击click,双击dbclick等等
target属性,触发事件的dom元素对象。我看到网上说target是火狐浏览器。srcElement是IE中的,可是我測试的结果是。在IE11中两个都能够使用了,一样的效果。可是火狐中仅仅能使用target属性,浏览器之间的实现方式能不能有个通用的标准呢,兼容性非常纠结呢,所以和event对象的获取一样,建议是通过赋值的方式去获取触发事件的dom对象:
var target = event.target||event.srcElement;
preventDefault()方法是用来取消默认事件行为的,比方超链接,点击超链接,会依据href属性,跳到还有一个页面。之前在项目中。就遇到非常多须要取消超链接的默认点击行为,在点击事件处理程序中。取消默认的事件行为,能够例如以下操作:
if(event.preventDefault){//推断该函数是否存在
event.preventDefault;
}else{
returnValue = false;
}
这样也实现了取消超链接的默认行为,事实上在项目中,还看到别的同事使用的别的方式,也取消是默认的点击行为
<a href="javaScript:void(0);">也行</a>
stopPropagation()方法直接就取消事件的继续冒泡或者捕获了,这个非常有用的,假设父元素和子元素都绑定了某个相同类型的事件,比方都绑定了click事件。如今用户触发了一个事件,事件在捕获阶段被触发,针对父元素,则会继续向下捕获。进而触发子元素的事件。针对子元素。在冒泡阶段被触发,也相同由于冒泡行为,会触发父元素的事件。因此往往须要取消这样的无意的触发。
if(event.stopPropagation){//推断是否存在
event.stopPropagation();
}else{
event.cancleBubble = true;
}
2014年9月30日22:04:18
兴许项目中。假设还是用到了别的相关操作,我在继续补充
javaScript中的事件对象event的更多相关文章
- javaScript中的事件对象event是怎样
事件对象event,每当一个事件被触发的时候,就会随之产恒一个事件对象event,该对象中主要包含了关于该事件的基本属性,事件类型type(click.dbclick等值).目标元素target(我的 ...
- JavaScript中的事件对象
JavaScript中的事件对象 JavaScript中的事件对象是非常重要的,恐怕是我们在项目中使用的最多的了.在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有 ...
- JavaScript 中的事件对象(读书笔记思维导图)
在触发 DOM 上的某个事件时,会产生一个事件对象 event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对象中,会包含 ...
- Javascript中的事件对象和事件类型
接上次看JS的事件冒泡和捕获,所以顺带就把事件相关的知识都看完好了 而且想到一个好的学习方法,第一天自己看,第二天把前一天学习的东西写下来,一方面可以当复习,一方面当重新整理并且分享 事件对象 事件处 ...
- javaScript动画3 事件对象event onmousemove
事件对象的获取(event的获取) var event = event || window.event;(主要用这种) screenX.pageX和clientX的区别 PageY/pageX: 鼠标 ...
- 彻底理解javascript 中的事件对象的pageY, clientY, screenY的区别和联系。
说到底, pageY, clientY, screenY的计算,就是要找到参考点, 它们的值就是: 鼠标点击的点----------- 和参考点指点----------的直角坐标系的距离 stacko ...
- 谈谈事件对象-event
JavaScript 中的事件对象(event) 当我们每次触发一种事件(如点击事件),我们会在回调函数中传入事件对象event.今天就来来谈谈. 1.当我们想判断当前事件是我们想要的事件类型时,可以 ...
- javascript中的事件Event
一.事件流 1.事件流:描述的是从页面中接受事件的顺序 IE的事件流是事件冒泡流,Netscape的事件流是事件捕获流. 2.事件冒泡 IE的事件流叫做事件冒泡(event bubbing),即事件开 ...
- JavaScript:事件对象Event和冒泡
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 绑定事件的两种方式 我们在上一篇文章中已经讲过事件的概念.这里讲一下注册 ...
随机推荐
- Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/ ...
- windows 下载安装github
参考链接:http://download.csdn.net/download/devsplash/9683971
- 0x31 质数
poj2689 算根号R的质数,然后把L~R区间(这个很小啊)的合数判下 #include<cstdio> #include<iostream> #include<cst ...
- [转]Linux常用命令学习
转自 https://www.cnblogs.com/gaojun/p/3359355.html 1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文 ...
- SQL Server的三种分页方式
直接上代码 --top not in方式 select top 条数 * from tablename where Id not in (select top 条数*页数 Id from tablen ...
- iframe刷新以及自适应高度
A页面中的iframe链接到B页面在B页面调用这个可以刷新父页面的iframe self.location.reload(); <iframe src="admin-list.htm ...
- CDR 2017压感笔和压感设备该怎么设置使用?
您可以通过CorelDRAW 2017 中的以下工具来运用压感笔.笔或其他设备的压力:艺术笔(表达模式).橡皮擦.涂抹.转动.吸引.排斥.粗糙和弄脏.此外,您还可以通过艺术笔(表达模式)工具.橡皮擦. ...
- 谁说NTFS不支持UEFI启动的?启动U盘放不了超过4G的文件怎么办?Server2016 Win10 U盘UEFI启动制作方法
大家都知道,我们平时做启动盘,用得最多的就是UltraISO(软碟通)这个工具了.用它我们可以很简单快速的把一个空白的普通U盘制作成一个PE启动U盘或系统U盘,然后用它来安装系统非常的方便,受到了广大 ...
- BZOJ3529: [Sdoi2014]数表 莫比乌斯反演_树状数组
Code: #include <cstdio> #include <algorithm> #include <cstring> #define ll long lo ...
- socket&socketserver网络编程
1.套接字与套接模块 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了 ...