上述代码在JavaScript事件处理中
上述代码在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事件处理中的更多相关文章
- 深入理解JavaScript 事件
本文总结自<JavaScript高级程序设计>以及自己平时的经验,针对较新浏览器以及 DOM3 级事件标准(2016年8月),对少部分内容作了更正,增加了各种例子及解析. 如无特殊说明,本 ...
- JavaScript事件总结
JavaScript 事件总结 本文总结自<JavaScript高级程序设计>以及自己平时的经验,针对较新浏览器以及 DOM3 级事件标准(2016年8月),对少部分内容作了更正,增加 ...
- JavaScript 事件总结
本文总结自<JavaScript高级程序设计>以及自己平时的经验,针对较新浏览器以及 DOM3 级事件标准(2016年8月),对少部分内容作了更正,增加了各种例子及解析. 如无特殊说明,本 ...
- javaScript事件流是什么?
一.事件 事件是文档或者浏览器窗口中发生的,特定的交互瞬间. 事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字. 事件是javaScript和DOM之间交 ...
- JavaScript事件模型及事件代理
事件模型 JavaScript事件使得网页具备互动和交互性,我们应该对其深入了解以便开发工作,在各式各样的浏览器中,JavaScript事件模型主要分为3种:原始事件模型.DOM2事件模型.IE事件模 ...
- javaScript事件--事件流
一.事件 事件是文档或者浏览器窗口中发生的,特定的交互瞬间. 事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字. 事件是javaScript和DOM之间交 ...
- JavaScript 事件代理
转自:http://www.cnblogs.com/silence516/archive/2009/09/03/delegateEvent.html 如果你想给网页添加点JavaScript的交互性, ...
- JavaScript事件详解-jQuery的事件实现(三)
正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...
- JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】
正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...
随机推荐
- [go]gorhill/cronexpr用go实现crontab
// crontab基础 // linux crontab // 秒粒度, 年配置(2018-2099) // 哪一分钟(0-59),哪小时(0-23),哪天(1-31),哪月(1-12),星期几(0 ...
- 树莓派-Ubuntu Mate开启ssh服务
1. 运行 apt search openssh-server 查看是否安装ssh服务. 2. 如已安装,运行 sudo dpkg-reconfigure openssh-server 重新配置shh ...
- [ES6 系列] 你真的了解ES6吗(一)
前言 无论是我们日常开发还是面试跳坑, ES6 已经变得越来越重要,那么你是否对它足够熟悉呢 ES6 将会是专栏接下来的一个系列,从最基础的概念或者有趣的问题开始逐渐深入,探究 ES6 常用的特性以及 ...
- DRF视图-请求与响应
DRF视图 drf的代码简写除了在数据序列化体现以外,在视图中也是可以的.它在django原有的django.views.View类基础上,drf内部封装了许多子类以便我们使用. Django RES ...
- JAVA是否适合非科班者自学入行?石油工程专业从培训到JAVA入门自学亲身经历
如今的我已经过了三十而立的年纪,虽然在三十岁我没有立下任何事业,相反,还在茫茫苦海中挣扎. 但是我并不是没有收获.当然,曾经在我拥有大好青春年华的时候选择了迷茫,以至于当我有所明悟的时候,却已经错过了 ...
- 整合AD RMS与EX 2010。
1.点击开始菜单, 选择所有程 序,展开 Mi cros oft Excha nge Server 2010 ,打开Excha nge Ma na gement Cons ol e,选择收件人配 ...
- linux下nginx的学习
安装参考菜鸟教程:https://www.runoob.com/linux/nginx-install-setup.html nginx文档官网: http://nginx.org nginx社区:h ...
- c++文件指针读写图片文件
#include "stdafx.h"#include <string>using namespace std;int _tmain(int argc, _TCHAR* ...
- IDEA安装Git
1.下载Git 官方地址为:https://git-scm.com/download/win 2.下载完之后,双击安装 3.选择安装目录 4.选择组件 5.开始菜单目录名设置 6.选择使用命令行环境 ...
- 阿里云服务器安装svn完整步骤,避免新手可能出现的所有错误
centos6.8,没有安装svn的情况: 1.安装: yum install subversion (这一步一般不会错) 2.创建svn版本库: cd /root mkdir -p svn/proj ...