上述代码在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. debian上搭建私有docker仓库

    docker官方仓库是docker hub.虽然很好用,但是无法满足私密性的要求. 如果只需要在局域网内或者朋友圈内分享各自制作的image,那么,搭建属于自己的docker仓库变得很有必要. 一.环 ...

  2. hibernate关联映射之一对多&多对一

    package loaderman.b_one2Many; import java.util.HashSet; import java.util.Set; public class Dept { pr ...

  3. linux的dos开关机命令

    常用:halt.reboot CentOS关机命令: 重启命令 reboot shutdown -r now 立刻重启 shutdown -r 10 过10分钟自动重启 shutdown -r 20: ...

  4. 一百:CMS系统之修改密码逻辑

    定义一个基类form,用于获取错误信息 from wtforms import Form class BaseForm(Form): def get_error(self): # a = {'aaa' ...

  5. [CDH] Process data: integrate Spark with Spring Boot

    c 一.Spark 统计计算 简单统计后写入Redis. /** * 订单统计和乘车人数统计 */ object OrderStreamingProcessor { def main(args: Ar ...

  6. Oracle动态执行脚本创建序号

    -----------------------动态创建序列的脚本--------------------------- declare type num_list ) ); -- 老师表.学生表 xz ...

  7. 8. find

    find使用 find命令的主要作用是对树形目录层次结构进行彻底检查. find命令的一般格式: find pathname -expressions     find常用表达式 在当前文件夹中找出名 ...

  8. idea-eclipse快捷键对比

      分类 功能点 Eclipse快捷键 IDEA快捷键 搜索 搜索文本 Ctrl + F Ctrl + F Ctrl + R 查找替换 Alt + P/A 逐个/全部替换 Alt + F3 查找当前选 ...

  9. 多版本YUM仓库搭建

    服务器:CentOS7 YUM源:阿里云 空间要求:CentOS6+CentOS7  50G,考虑后期更新预留,LVS空间100G 1.在服务器配置CentOS7的yum源和CentOS6的yum源 ...

  10. Ubuntu16.04安装python3.7及相应的pip

    Ubuntu16.04安装python3.7及相应的pip:https://blog.csdn.net/qq_29837161/article/details/83616364 多版本Python安装 ...