1.this指向问题 使用addEventListener注册的事件,事件处理函数中 this指向目标元素: 使用attachEvent注册的事件,事件处理函数中 this指向window对象 要想将二者统一,可采用下面方法: function addEvent(ele,evtType,handler){ if(ele.addEventListener){ ele.addEventListener(evtType,handler,false); }else if(ele.attachEvent)…
IE中使用的事件绑定函数与Web标准的不同,而且this指向也不一样,Web标签中的this指向与传统事件绑定中的this一样,是当前目标,但是IE中事件绑定函数中this指向,通过使用call或apply可以改变this指针的指向. <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>attachEvent 中t…
在利用javascript为DOM Element添加事件处理程序时,如果要想下兼容IE6,7时,就不得不考虑addEventListener与attachEvent的异同. 1.首先说下addEventListener,现在IE9+,chrome,firefox等都支持. 所有的DOM节点包含addEventListener,并且接受3个参数: HTMLElement.addEventListener(type,function,bool); type:处理事件的名称,如 "click&quo…
yuanwen http://www.jb51.net/article/32511.htm 写 addEventListener 和 attachEvent 区别的博文不少,不过大部分都把重点放置于前者是Firefox chrome,后者只是存在于IE系列中     写 addEventListener 和 attachEvent 区别的博文不少,不过大部分都把重点放置于前者是Firefox chrome,后者只是存在于IE系列中. 最近在写一个事件代理的时候,遇到一个BUG,发现除此外,二者绑…
addEventListener和attachEvent以及element.onclick的区别 attachEvent是ie添加事件处理程序,接收两个参数,其中事件类型名称要加"on", 可以添加多个事件处理程序,按照添加顺序相反的顺序触发; addEventListener是给非ie添加事件处理程序,接收三个参数,第一个是事件名,不需要加“on”, 第二个是绑定的函数,第三个参数是一个布尔值,是事件的方式,意思是是否使用useCatch方式, 如果是false,就使用传统的冒泡方式…
attachEvent 与addEventListener到底有什么区别呢?总结如下: 一.适应的浏览器版本不同 attachEvent——兼容:IE7.IE8:不兼容firefox.chrome.IE9.IE10.IE11.safari.opera addEventListener——兼容:firefox.chrome.IE.safari.opera:不兼容IE7.IE8 二.针对的事件不同 attachEvent中的事件带on   而addEventListener中的事件不带on if(o…
一.设置HTML标签属性为事件处理程序(注意和下面的设置javascript对象属性为事件处理程序是不同的) 用于设置文档元素事件处理程序属性也能化成对应的HTML标签的属性.如果这样做,属性值应该是Javascript代码字符串.这段代码应该是事件处理程序函数的主体,而非完整的函数声明.当指定一串代码作为HTML事件处理程序属性的值时,浏览器会吧代码串转换为类似如下的函数中: function(event){ with(){ with(){ with(this){ /* 这里是代码字符串 */…
Javascript 的addEventListener()及attachEvent()区别分析 Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点.document.window 或 XMLHttpRequest. type: 字符串,事件名称,不含“on”,比如“click”.“mouseover”.“keydown”等. listener :实现…
第一:简单的通用方法(IE && FF) window.onload = function(){ var oDiv = document.getElementById("J_myDiv"); //找到对象 oDiv.onclick = function(){ //设置事件监听函数 alert("click"); }} 缺点:1.添加单一事件 2.不能删除事件 第二:IE中监听函数 var oDiv; function fnClick(){ alert…
首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉),那么接下来我会深入的探讨这个问题. 为什么要学习this?如果你学过函数式编程,面向对象编程,那你肯定知道干什么用的,如果你没有学过,那么暂时可以不…