javascript在事件监听方面的兼容性小结
1,IE使用attachEvent/detachEvent方法来添加和删除事件监听器;w3c使用addEventListener/removeEventListener方法。
2,IE对其事件使用onevent的命名方式,而w3c的是event的命名方式。
3,IE事件监听器内使用的是一个全局的Event对象,而w3c是将event对象作为参数传递给监听器。
4,为了避免触发默认的事件行为,IE的做法是要求程序员设置Event对象中的returnValue属性值为false,而w3c的做法是执行preventDefault方法。
5,IE没有提供对事件捕获阶段的支持。
6,要停止事件的传递,IE的做法是设置event对象的cancelBubble为true,而w3c的做法是设置执行stopPropagation方法。
7,IE将事件监听器当做一个独立的函数来调用,而w3c中它是作为对象的方法来调用的,这表示在ie中事件监听器中的this关键字指向的不是事件发生对象而是一个没用的全局对象(window对象)。
8,IE在使用事件监听器方面存在内存泄露问题。在IE浏览器中,如果要为某个元素创建一个事件监听器,并且在监听器中使用该元素,则在用户进入其他页面之前,该监听器以及相关的DOM节点作占据的内存空间不会被释放。
相关推荐
-
深入浅析JavaScript中对事件的三种监听方式
事件(Event)是JavaScript应用跳动的心脏,也是把所有东西粘在一起的胶水,当我们与浏览器中Web页面进行某些类型的交互时,事件就发生了. 第一种监听方式,也是最普遍使用的方式,是直接在代码上加载事件,产生效果: <table> <tr onmouseover='this.style.backgroundColor="red"' onmouseout='this.style.backgroundColor=""'><td>
-
在JavaScript中监听IME键盘输入事件
输入法应当如何触发键盘事件呢?是每一下击键都触发一次事件,还是选词完毕才触发事件呢?整句输入又该如何触发事件呢?不同的操作系统和不同的浏览器对此有不同的看法.在最糟糕的情况下,用户使用输入法后浏览器就只触发一次 keydown ,之后就没有任何的键盘事件了.这对于 Suggestion 控件的实现来说是个大问题,因为 Suggestion 控件需要监听文本输入框的变化,而事件是最准确也最节省计算资源的做法,如果换成轮询的话性能就可能受到影响. 首先,要监听启用输入法后的击键事件应当使用 keyd
-
JavaScript 监听textarea中按键事件
有个textarea, Java代码 复制代码 代码如下: <textarea id="text"></textarea> 经常会定义onKeyPress="keypress();",并定义以下方法. 复制代码 代码如下: var keypress = function(e){ var e = e || window.event; var k = e.keyCode; } 这里我使用的办法是JQuery. 复制代码 代码如下: $("
-
JavaScript 事件监听实例代码[兼容IE,firefox] 含注释
JavaScript事件监听完整实例(含注释) var oEventUtil = new Object(); oEventUtil.AddEventHandler = function(oTarget,sEventType,fnHandler) { //IE和FF的兼容性处理 //如果是FF if(oTarget.addEventListener){ oTarget.addEventListener(sEventType,fnHandler,false); } //如果是IE else if(o
-
JavaScript监听和禁用浏览器回车事件实例
js监听浏览器回车事件,可以支持ie6+,火狐,谷歌等浏览器. 复制代码 代码如下: <html> <head> <script type="text/javascript"> //注册键盘事件 document.onkeydown = function(e) { //捕捉回车事件 var ev = (typeof event!= 'undefined') ? window.event : e; if(ev.keyCode == 13) {
-
javascript监听鼠标滚轮事件浅析
我们都见到过这些效果,用鼠标滚轮实现某个表单内的数字增加减少操作,或者滚轮控制某个按钮的左右,上下滚动.这些都是通过js对鼠标滚轮的事件监听来实现的.今天这里介绍的是一点简单的js对于鼠标滚轮事件的监听. 不同浏览器不同的事件 首先,不同的浏览器有不同的滚轮事件.主要是有两种,onmousewheel(firefox不支持)和DOMMouseScroll(只有firefox支持),关于这两个事件这里不做详述,想要了解的朋友请移步:鼠标滚轮(mousewheel)和DOMMouseScroll事件
-
javascript 传统事件模型构造的事件监听器实现代码
代码如下: 复制代码 代码如下: var br={}; br.eventRouter = {}; br.eventRouter.addListen = function(el,eventType,func){ if(!el.eventObjs){ el.eventObjs = {}; } if(!el.eventObjs[eventType]){ el.eventObjs[eventType]=[]; br.eventRouter.bindListen(el,eventType); } el.e
-
JavaScript监听文本框回车事件并过滤文本框空格的方法
本文实例讲述了JavaScript监听文本框回车事件并过滤文本框空格的方法.分享给大家供大家参考.具体如下: <script type="text/javascript" language="javascript"> var username = null; var password = null; //获取文本框 onload = function() { username = document.getElementById("txtUser
-
javascript在事件监听方面的兼容性小结
1,IE使用attachEvent/detachEvent方法来添加和删除事件监听器:w3c使用addEventListener/removeEventListener方法. 2,IE对其事件使用onevent的命名方式,而w3c的是event的命名方式. 3,IE事件监听器内使用的是一个全局的Event对象,而w3c是将event对象作为参数传递给监听器. 4,为了避免触发默认的事件行为,IE的做法是要求程序员设置Event对象中的returnValue属性值为false,而w3c的做法是执行
-
JavaScript的事件监听你了解吗
目录 1. 什么是事件监听? 2. DOM0级事件监听 2.1)常见的页面事件监听 2.2)常见的鼠标事件监听 2.3)常见的键盘事件监听 2.4)常见的表单事件监听 3. DOM2级事件监听 总结 1. 什么是事件监听 ? 事件监听就是计算机对事件进行监听,知道什么时候发生了这个事件,从而执行一些写好的程序. 那么,它的常用方法有哪些呢 ?让我们一起来看看吧 ! 2. DOM0 级事件监听 DOM0 级事件监听: 给元素设置它们的onxxx属性(e.g., onclick) 对于 DOM0 级
-
JavaScript绑定事件监听函数的通用方法
事件绑定的3中常用方法:传统绑定.W3C绑定方法.IE绑定方法.但是,在实际开发中对于我们来讲重要的是需要一个通用的.跨浏览器的绑定方法.如果我们在互联网上搜索一下会发现许多方法,以下是比较知名的几种方法: 在开始学期下面几种方法之前,应当讨论一下,一个好的addEvent()方法应当达到哪些要求: a.支持同一元素的同一事件句柄可以绑定多个监听函数: b.如果在同一元素的同一事件句柄上多次注册同一函数,那么第一次注册后的所有注册都被忽略: c.函数体内的this指向的应当是正在处理事件的节点(
-
分享jQuery3种常见事件监听方式
目录 1.HTML标签内联事件 2.用JavaScript实现事件监听 3.用jQuery实现事件监听 前言: 在 Web 页面经常会有各种事件发生,事件发生后需要进行一些特定处理,即执行特定的函数或者语句.这就需要对事件进行监听,监听事件的常见方式有以下三种,本文将通过实例来具体介绍. 1.HTML标签内联事件 实例1:单击页面 "Hello" 按钮,弹出提示框显示 Hello world! <!doctype html> <html> <head>
-
分享jQuery的3种常见事件监听方式
目录 1.HTML标签内联事件 2.用JavaScript实现事件监听 3.用jQuery实现事件监听 前言: 在 Web 页面经常会有各种事件发生,事件发生后需要进行一些特定处理,即执行特定的函数或者语句.这就需要对事件进行监听,监听事件的常见方式有以下三种,本文将通过实例来具体介绍. 1.HTML标签内联事件 实例1:单击页面 "Hello" 按钮,弹出提示框显示 Hello world! <!doctype html> <html> <head>
-
JavaScript使用addEventListener添加事件监听用法实例
本文实例讲述了JavaScript使用addEventListener添加事件监听用法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html lang="en"> <head> <title>This text is the title of the document</title> <script> function showalert(){ alert('you clicked
-
javascript 组合按键事件监听实现代码
javascript 组合按键事件监听实现代码 JS组合按键事件监听,支持同时监听多组按键如{a,b,c,}{ctrl,c}. 实例代码: <script type="text/javascript"> (function(){ /** *dqKeys v1.0.0 | (c) 2016 www.findme.wang *@params json keys 监听的按键 *@params bool isOrder 按键是否有相应的顺序 *@params Function su
-
javascript事件监听与事件委托实例详解
本文实例讲述了javascript事件监听与事件委托.分享给大家供大家参考,具体如下: 事件监听与事件委托 在js中,常用到element.addEventListener()来进行事件的监听.但是当页面中存在大量需要绑定事件的元素时,这种方式可能会带来性能影响.此时,我们可以用事件委托的方式来进行事件的监听. 每个事件都经历三个阶段 捕获 到达目标 冒泡 事件委托需要用到事件的冒泡,冒泡就是事件发生时,上层会一层一层的接收这个事件. 如下页面结构: <body> <div id=&qu
-
JavaScript给事件委托批量添加事件监听详细流程
1.什么是事件委托 事件委托:利用事件冒泡的特性,将本应该注册在子元素上的处理事件注册在父元素上,这样点击子元素时发现其本身没有相应事件就到父元素上寻找作出相应.这样做的优势有: 减少DOM操作,提高性能. 随时可以添加子元素,添加的子元素会自动有相应的处理事件. 2.事件委托的原理 事件委托是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件. 举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那
随机推荐
- jQuery给表格添加分页效果
- 定时检查网站是否掉线的批处理
- Selenium处理select标签的下拉框
- java中的数学计算函数的总结
- 多版本Python共存的配置方法
- Android自定义商品购买数量加减控件
- 使用ajax局部刷新gridview进行数据绑定示例
- 浅析PHP7新功能及语法变化总结
- Django框架中数据的连锁查询和限制返回数据的方法
- Windows下安装python2.7及科学计算套装
- php精确的统计在线人数的方法
- JavaScript 产生不重复的随机数三种实现思路
- js CSS3实现卡牌旋转切换效果
- linux echo命令以及linux echo命令提示权限不够的解决办法
- Oracle之SQL语句性能优化(34条优化方法)
- JavaScript中利用jQuery绑定事件的几种方式小结
- javascript中expression的用法整理
- Struts2的配置 struts.xml Action详解
- PHP大批量数据操作时临时调整内存与执行时间的方法
- android判断动画已结束示例代码