上述代码在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. ubuntu16.04下如何安装dtc工具?

    答: sudo apt-get install device-tree-compiler -y

  2. 图解Python 【第七篇】:网络编程Socket

    本节内容一览图:  前言总结: Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它 ...

  3. vsCode安装todo插件

    使用过IDEA或者WebStrom的阿媛应该都知道他们都有一个TODO功能,方便我们跟踪注释,或者说是我们在项目代码里面所做的标记:但是如果你现在在使用vsCode,你会发现,没有TODO功能,幸好, ...

  4. kotlin之类构造器

    Kotlin中类允许定义个主构造器和多个第二构造器. 主构造器就是类头的一部分,紧跟在类名的后面,构造器参数是可选的 package loaderman import loaderman.bar.Pe ...

  5. java代码实现简体繁体转换

    汉字分为简体和繁体字,这是众所周知的,虽然繁体字中国大陆这边用的并不会太多,但时不时的还是会使用到.那么,如何做到简体字和繁体字的转换呢?其实很简单,这里附上一个java版本的简繁体转换,用网上找的接 ...

  6. linux简单命令8---软件包安装

    1:使用yum安装,它不能包查询和包校验.它安装的是RPM格式文件.没有yum文件 ---------------------------------------------------------- ...

  7. Linux shell脚本重试机制

    重试机制在实际编程场景中应用比较场景,比如你的任务在请求一个正在写入数据但不确定什么时间会完成的文件,可能就需要通过尝试机制间隔一段时间重新执行任务. 以下 shell 脚本是实现重试机制的模板: # ...

  8. 【AMAD】django-formapi -- 一个DJANGO API框架,可使用签名request,可使用form作为API的验证工具

    动机 简介 个人评分 动机 如何快速构建API,使用view就行了? 如果快速构建一个可以验证参数的API,使用django-formapi1吧! 简介 class DivisionCall(call ...

  9. IE11报错:[vuex] vuex requires a Promise polyfill in this browser的问题解决

    昨天其他同事反馈IE浏览器无法打开线上的应用,查看了一下,发现控制台报以下错误: 发现和vuex有关系,去其官网查看了一下文档,发现关于IE浏览器的Promise的问题: 在vue-cli(webpa ...

  10. CSS实现网页背景图片自适应全屏,自适应背景图片

    一张清晰漂亮的背景图片能给网页加分不少,设计师也经常会给页面的背景使用大图,我们既不想图片因为不同分辨率图片变形,也不希望当在大屏的情况下,背景有一块露白,简而言之,就是实现能自适应屏幕大小又不会变形 ...