上述代码在JavaScript事件处理中很常见,主要设置为与旧版本的Internet Explorer(主要在IE9之前)兼容,因为旧版本的IE不支持标准的W3C事件处理规范。

此代码中的e表示事件对象,即所谓的事件驱动源。接下来,以鼠标单击事件为例进行测试:

(HTML)










<!文档类型HTML>
<html >
<体>
<button type=“button”id=“btn”>单击</button>
<script type=“text/javascript”>
//javascript代码
</Script >
<正文>
</HTML>
(JavaScript)




文件。getElementByID(“btn”)。onclick=函数(e){
警报(E);
}
编写一个匿名函数(e)alert(e);并将其分配给事件句柄(onclick),它是一个相当于onclick(e)alert(e);的回调函数。此代码在标准浏览器(如Chrome、Firefox或新版本的IE(IE9及更高版本)中运行。它应该弹出一个类似“[对象mouseEvent]”的字符串来表示e是一个事件对象;当它在旧版本的ie中运行时,结果是“未定义”(未定义)。

显然,在标准进程中,事件对象默认由事件句柄函数的第一个参数传入,以供处理函数使用;在旧版本的IE中,事件对象不能由句柄函数直接传入,但可以使用全局变量来表示事件对象,即窗口。事件。同样,可以使用示例来验证:




文件。getElementByID(“btn”)。onclick=函数(e){
警报(窗口)。事件);
}
在旧版本的IE,window中。事件可以显示为对象,表示可以通过这种方式获取事件对象。(实际上,除此之外,还有窗户。像Chrome这样的浏览器中的事件,但是在支持标准的浏览器中,我们最好使用标准方式。)

现在您可以理解为什么表达式e=e_window。事件出现。因为这是与旧的IE事件处理兼容的唯一方法:如果浏览器支持标准处理,则使用handle函数传入的第一个参数(e),反之亦然,使用IE处理方法(window)。事件)。在某种意义上,标准事件对象(e)和窗口。在旧版IE中,事件可以看作是等价的(实际上,存在一些差异,这里没有详细的区别),两者都可以有效地使用。





文件。getElementByID(“btn”)。onclick=函数(e){
E=E窗口。事件;
//使用e对象
}
因此,上述代码几乎可以与所有浏览器兼容。

上述代码在JavaScript事件处理中的更多相关文章

  1. 深入理解JavaScript 事件

    本文总结自<JavaScript高级程序设计>以及自己平时的经验,针对较新浏览器以及 DOM3 级事件标准(2016年8月),对少部分内容作了更正,增加了各种例子及解析. 如无特殊说明,本 ...

  2. JavaScript事件总结

    JavaScript 事件总结   本文总结自<JavaScript高级程序设计>以及自己平时的经验,针对较新浏览器以及 DOM3 级事件标准(2016年8月),对少部分内容作了更正,增加 ...

  3. JavaScript 事件总结

    本文总结自<JavaScript高级程序设计>以及自己平时的经验,针对较新浏览器以及 DOM3 级事件标准(2016年8月),对少部分内容作了更正,增加了各种例子及解析. 如无特殊说明,本 ...

  4. javaScript事件流是什么?

    一.事件 事件是文档或者浏览器窗口中发生的,特定的交互瞬间. 事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字. 事件是javaScript和DOM之间交 ...

  5. JavaScript事件模型及事件代理

    事件模型 JavaScript事件使得网页具备互动和交互性,我们应该对其深入了解以便开发工作,在各式各样的浏览器中,JavaScript事件模型主要分为3种:原始事件模型.DOM2事件模型.IE事件模 ...

  6. javaScript事件--事件流

    一.事件 事件是文档或者浏览器窗口中发生的,特定的交互瞬间. 事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字. 事件是javaScript和DOM之间交 ...

  7. JavaScript 事件代理

    转自:http://www.cnblogs.com/silence516/archive/2009/09/03/delegateEvent.html 如果你想给网页添加点JavaScript的交互性, ...

  8. JavaScript事件详解-jQuery的事件实现(三)

    正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...

  9. JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】

    正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...

随机推荐

  1. 约束布局ConstraintLayout详解

    约束布局ConstraintLayout详解 转 https://www.jianshu.com/p/17ec9bd6ca8a 目录 1.介绍 2.为什么要用ConstraintLayout 3.如何 ...

  2. easyUI之progressbar进度条

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  3. 机器学习 - 算法 - 集成算法 - 分类 ( Bagging , Boosting , Stacking) 原理概述

    Ensemble learning - 集成算法 ▒ 目的 让机器学习的效果更好, 量变引起质变 继承算法是竞赛与论文的神器, 注重结果的时候较为适用 集成算法 - 分类 ▒ Bagging - bo ...

  4. [PySpark] Spark SQL on a large file

    基础篇:[Spark] 03 - Spark SQL /* implement */

  5. iscsi序列一、搭建iscsi存储系统

    一.NAS和SAN服务器概述 SAS: 容量小, 300G, 600G, 900G, 价格贵. SATA:容量大,500G, 750G, 1T, 2T, 3T, 4T   不支持热插拔,价格低. 假S ...

  6. 转:SpringMVC 4.1 新特性(二)内容协商视图

    SpingMVC的内容协商支持三种方式: 使用后缀,如json.xml后缀和处理类型的关系可以自己定义 前面说的使用Accept头 在访问时request请求的参数,比如每次请求request都会加f ...

  7. yii findAll方法

    $users = $this->user->find(array( 'select'=>array('id','username','email'), 'order' => ' ...

  8. springboot-RequestMappingHandlerMapping

    作用:查看应用请求对应的ur和方法l情况 实例: RequestMappingHandlerMapping mapping =applicationContext.getBean("requ ...

  9. 网站后台扫描工具dirbuster、御剑的用法

    dirbuster DirBuster是Owasp(Open Web Application Security Project )开发的一款专门用于探测网站目录和文件(包括隐藏文件)的工具.由于使用J ...

  10. 【AMAD】django-social-auth -- 让django使用社交网络oauth鉴权变得极为轻松!

    简介 个人评分 简介 django-social-auth1集成的Oauth API包括: Google OpenID Google Oauth Google Oauth2 Yahoo OpenID ...