JS在IE和FF下attachEvent,addEventListener学习笔记(转)

对象名.addEventListener("事件名(不带ON)",函数名,true/false);(FF下) 
对象名.attachEvent("事件名",函数名);(IE下) 
说明: 
  事件名称,要注意的是"onclick"要改为"click","onblur"要改为"blur",也就是说事件名不要带"on"。 
函数名,记住不要跟括号最后一个参数是个布尔值,表示该事件的响应顺序,下面重点介绍一下addEventListener的第3个参数(useCapture)。 userCapture若为true,则浏览器采用Capture,若为false则采用bubbing方式。建议用false,看个例子吧。 
html代码 
<div id="div_test"> <input type="button" id="btn_test" value="se4.cn技术基地" /> </div> 
js代码

代码如下:

window.onload=function(){ document.getElementById("div_test").addEventListener("click",test1,false); document.getElementById("btn_test").addEventListener("click",test2,false); } function test1(){ alert("外层div触发") } function test2(){ alert("内层input触发") }

自己体验一下,如果userCapture是true则test1先触发,如果userCapture是false则test2先触发。

下面来说一下,attachEvent 
这个没啥好说的,相信大家也都用的挺熟的,主要是传参那块,等我用到 再说吧,哈哈哈

示例: 
创建绑定方法:

复制代码代码如下:

if (typeof document.addEventListener != "undefined") { 
document.addEventListener("mousedown",_lhlclick,true); 
} else { 
document.attachEvent("onmousedown",_lhlclick); 
}

删除事件:

复制代码代码如下:

if (typeof document.addEventListener != "undefined") { 
document.removeEventListener("mousedown",_lhlclick,true); 
} else { 
document.detachEvent("onmousedown",_lhlclick); 
}

时间: 2024-10-29 00:26:48

JS在IE和FF下attachEvent,addEventListener学习笔记(转)的相关文章

windows下scrapy框架学习笔记—&#39;scrapy&#39; 不是内部或外部命令

最近几天在深入的学习scrapy框架,但是装完各种需要的基础包之后却发现scrapy命令在别的路径下都用不了,我一开始是把python安装在F:\Python路径下的,安装了scrapy后它默认都会安装在这个路径下,scrapy在路径F:\Python\Scripts路径下,我的scrapy命令只能在此路径下用,因此创建什么工程也都只能在此文件下. 想了一下它的工作原理:它在F:\Python\Scripts路径下,就会在Scripts文件下存在一个scrapy批处理文件,那么在DOS下想要命令

js在IE和FF下的兼容性问题

长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javascript兼容性: 一.函数和方法差异: 二.样式访问和设置: 三.DOM方法及对象引用: 四.事件处理: 五.其他差异的兼容处理. 一.函数和方法差异 1. getYear()方法 [分析说明]先看一下以下代码: [javascript] view plaincopy var year=new D

JS高程12.2.3元素大小的学习笔记

<JavaScript高级程序设计>中讲述了通过JS如何控制页面中元素的大小,其中涉及到三对属性:偏移量,客户区大小,滚动大小.以前自己经常看到这三对属性,但是具体不是很清楚,容易混淆.所以想写篇文章记录一下自己的学习收获,让自己理解的更加深刻,同时也请各位前辈帮忙指正一下自己理解错误的地方. 首先元素在屏幕上的可见大小由元素的宽度,高度决定,包括所有内边距,滚动条和边框大小(不包括外边距) 1.偏移量 偏移量中包括如下四个属性: 1.offsetHeight:元素在垂直方向上占用的空间大小,

js高级程序设计(第三版)学习笔记(第一版)

ecma:欧洲计算机制造商协会iso/iec:国际标准化和国际电工委员会 dom级别(10*)文档对象模型1:DOM核心(映射基于xml文档)与dom html(在dom核心基础上)2:对鼠标,事件,范围,遍历,还有对css样式表的支持dom2:新接口...视图,事件(鼠标,移动),样式(css),遍历与范围(对文档树的操作)3:对文档加载和保存,验证模块,对核心进行扩展,对xml.0规范其他domsvg可伸缩矢量图mathml数学标记语言mghi同步多媒体集成语言ie5 dom1mozilla

Scala下Play框架学习笔记(Http Routing)

内置的HTTP路由 路由把每一个引进来的HTTP请求对应到相应的Action去. HTTP请求被认为是MVC框架下的一个事件,这一事件包含两部分主要信息: (1)请求路径,包括query String (2)HTTP方法,如get,post等 路由被定义在经过编译的conf/routes中,因此你能在浏览器上直接看到报错信息. conf/routes中每一行一般由HTTP方法和相应URI组成: GET   /clients/:id          controllers.Clients.sho

Scala下Play框架学习笔记(Actions,Controllers and Results)

Scala下Play框架的学习是一件辛苦的事情,因为该框架比较新,scala语言也较新,所以中文资料很少,经过同事推荐,去了如下英文网站看资料: https://www.playframework.com/documentation/2.5.x/ScalaHome 虽然我的同事以在云中飞的速度学完了,但对我来说还是任重而道远. Action是什么? 由于Scala和Play有关的API都在play.api下面,所以其实Action的过程是这样的: play.api.mvc.Action(play

Scala下Play框架学习笔记(Session and Flash scopes)

session和flash scope 的区别 如果需要通过多个HTTP请求传输数据,那么就要用到session和flash scope.在session中存储的,整个会话过程都有效,在flash scope 中存储的,只是对下一个请求有效.服务器不存储session和flash scope中的数据,它们只是被传递给了下一个请求,使用Cookies机制.这就意味着你只能存储字符串类型,而且大小有限,最多4KB.Cookies的默认名字是PLAY_SESSION,通过application.con

u-boot根目录下mkconfig文件学习笔记

在编译ZedBoard的u-boot.elf(ssbl)中知道了编译u-boot的步骤,以及u-boot下载地址,这里使用2014.4版本.由于现在使用的是zc702开发板,所以应该使用如下命令编译u-boot: 1.make zynq_zc70x_config 2.make 其中第1条命令和第2条命令都会执行根目录下的Makefile文件,但是在Makefile文件中会判断make命令后是否跟了带_config的参数.如果带了,就会执行mkconfig -A zynq_zc70x这条命令.否则

Scala下Play框架学习笔记(Manipulating Results)

更改默认的content type 根据响应体中指定的scala值,可以自动地推断出结果的content type,举例如下: val textResult = Ok("Hello World!") 这将自动地把content-type的头部设置成text/plain,同时: val xmlResult = Ok(<message>Hello World!</message>) 这个会把头部设置成application/xml 以上通过play.api.http