事件对象event,每当一个事件被触发的时候,就会随之产恒一个事件对象event,该对象中主要包含了关于该事件的基本属性,事件类型type(click、dbclick等值)、目标元素target(我的理解是事件源对象,即触发该事件的dom元素)等,以及一些与该事件相关的方法,取消事件默认行为preventDefault()、组织事件继续冒泡或捕获stopPropagation()等等,这里我只列举了,项目中我用到的属性和方法。

既然事件被触发,就随之产生了一个event对象,笔者在IE中测试了,不需要通过赋值即可使用,或许低版本的需要吧,火狐浏览器是需要对其进行赋值的,在这里我觉得需要养成一个习惯,多谢一行代码呗,每次在事件处理程序中使用event对象,都通过赋值的方式去使用:

var event = event||window.event;

其实,默认参数数组中第一元素就是event对象,也就是说,可以用数组元素赋值

var event = arguments[0];

type属性,应该是最容易理解的,事件类型,单击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; }

这样也实现了取消超链接的默认行为,其实在项目中,还看到别的同事使用的别的方式,也取消是默认的点击行为

也行

stopPropagation()方法直接就取消事件的继续冒泡或者捕获了,这个很实用的,如果父元素和子元素都绑定了某个相同类型的事件,比如都绑定了click事件,现在用户触发了一个事件,事件在捕获阶段被触发,针对父元素,则会继续向下捕获,进而触发子元素的事件,针对子元素,在冒泡阶段被触发,也同样因为冒泡行为,会触发父元素的事件,因此往往需要取消这种无意的触发,

if(event.stopPropagation){//判断是否存在 event.stopPropagation(); }else{ event.cancleBubble = true; }

最新文章

  1. 在CentOS下利用Python+selenium获取腾讯首页的今日话题。
  2. Implement Trie (Prefix Tree)
  3. Caffe学习系列(8):solver及其配置
  4. 【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)
  5. OCR图片识别引擎
  6. Orleans---持久化
  7. 在Ubuntu上升级SQLite,并让Python使用新版SQLite
  8. lucene-solr本地调试方法
  9. 6.7 使用show profile 进行sql分析
  10. win10默认壁纸位置
  11. git 更新远程分支列表
  12. Qt+QGis二次开发:创建临时图层并添加要素
  13. 安装babel遇到的异常
  14. /usr/bin/ld: cannot find -lncurses是咋回事?
  15. Android 关于虹软人脸识别SDK引擎使用总结
  16. JavaScript的3种继承方式
  17. MYSQL 的 MASTER到MASTER的主主循环同步
  18. Dotfuscator Professional Edition获取代码发布和混淆代码
  19. CentOS更改ssh端口
  20. 如何使用SQLMAP绕过WAF

热门文章

  1. Maven的作用及简介
  2. js页面的弹框怎么关闭啊
  3. Lintcode 翻转链表
  4. Logback 日志组件的使用
  5. hibernate抓取策略
  6. 《DSP using MATLAB》Problem 8.28
  7. python学习笔记4.2_正则表达式
  8. HDU--3466 Proud Merchants (01背包)
  9. vue-admin-template模板添加tagsview
  10. NOIP2018提高组初赛选讲