`
天边一朵雲
  • 浏览: 34488 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JS注册事件 JS:attachEvent和addEventListener 使用方法

 
阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>JS</title>
</head>
<body>
    <input id="para" type="text" />
<script type="text/javascript">
function test(){
  alert("test");
}

function pig(){
  alert("pig");
}

window.onload = function(){
         var element =  document.getElementById("para");
         if(element.addEventListener){  // firefox  , w3c
                element.addEventListener("focus",test,false);
                element.addEventListener("focus",pig,false);
         } else {   // ie
                element.attachEvent("onfocus",test);
                element.attachEvent("onfocus",pig);
         }
}
</script>
</body>

</html>


****************实例结束**************************
JS:attachEvent和addEventListener 使用方法
attachEvent与addEventListener区别
适应的浏览器版本不同,同时在使用的过程中要注意
attachEvent方法 按钮onclick
addEventListener方法 按钮click
两者使用的原理:可对执行的优先级不一样,下面实例讲解如下:
attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列)
addEventListener方法 用于 Mozilla系列
举例:

Js代码 
var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function);   
btn1Obj.attachEvent("onclick",method1);   
btn1Obj.attachEvent("onclick",method2);   
btn1Obj.attachEvent("onclick",method3);执行顺序为method3->method2->method1   
var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function); 
btn1Obj.attachEvent("onclick",method1); 
btn1Obj.attachEvent("onclick",method2); 
btn1Obj.attachEvent("onclick",method3);
执行顺序为method3->method2->method1 


如果是Mozilla系列,并不支持该方法,需要用到

addEventListener var btn1Obj = document.getElementById("btn1"); 
//element.addEventListener(type,listener,useCapture); 
btn1Obj.addEventListener("click",method1,false); 
btn1Obj.addEventListener("click",method2,false); 
btn1Obj.addEventListener("click",method3,false);
执行顺序为method1->method2->method3


使用实例:

Js代码 
1。 var el = EDITFORM_DOCUMENT.body;   
//先取得对象,EDITFORM_DOCUMENT实为一个iframe   
if (el.addEventListener){   
el.addEventListener('click', KindDisableMenu, false);   
} else if (el.attachEvent){   
el.attachEvent('onclick', KindDisableMenu);   
}2。 if (window.addEventListener) {   
window.addEventListener('load', _uCO, false);   
} else if (window.attachEvent) {   
window.attachEvent('onload', _uCO);   
}   

detachEvent和removeEventListener

Js代码 
detachEvent('onclick',func);//ie下使用删除事件func   
removeEventListener('click',func);//Mozilla下,删除事件func


文章转自互联网

分享到:
评论

相关推荐

    javascript attachEvent和addEventListener使用方法

    attachEvent与addEventListener区别适应的浏览器版本不同,同时在使用的过程中要注意

    js绑定事件和解绑事件

    在js中绑定多个事件用到的是两个方法:attachEvent和addEventListener,但是这两个方法又存在差异性 attachEvent方法 只支持IE678,不兼容其他浏览器 addEventListener方法 兼容火狐谷歌,不兼容IE8及以下 ...

    Javascript 的addEventListener()及attachEvent()区别分析

    Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点、document、window 或 XMLHttpRequest。 type: 字符串,事件名称,不含“on”,比如“click”...

    事件高级用法及兼容写法

    1.addEventListener: 事件名没有on前缀 可以选择冒泡或者捕获机制 this 指事件调用者 同名事件的执行顺序:先添加先执行 2.attachEvent 事件名需要添加on前缀 不能选择冒泡或捕获的机制 this 指window对象 同名事件...

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

    (FF下) 对象名.attachEvent(“事件名”,函数名);(IE下) 说明: 事件名称,要注意的是”onclick”要改为”click”,”onblur”要改为”blur”,也就是说事件名不要带”on”。 函数名,记住不要跟括号最后一个参数是个...

    window.addEventListener来解决让一个js事件执行多个函数

    可能你也碰到过这种情况,就是在js的代码中用了[removed]后,可能会影响到body中的onload事件。你可以全写在body中,也可以全放到[removed]中,但是这样并不是很方便,有时我们需要两个同时用到。这时就要用window....

    原创-javascript服务器交互型可编辑表格和我的js常用库

    自己常用的js库和写的一个交互型可编辑表格: BaseJs库的一点源码: /** * 自定义javascript常用基础库 author zhang_jhai 创建时间 2010/04/10 最后修改时间 2010/05/03 * version 2.0 */ // Base库基础类 BaseJs ...

    Javascript处理DOM元素事件实现代码

    但是浏览器有addEventListener和attachEvent方法可供调用,从而模拟出类似于C#中的事件委托的事件触发机制! 代码如下: /* * 功能:事件处理 * Author:LQB * 时间:2009-1-4 * #include JCore.js */ var JEvents = ...

    javascript中传统事件与现代事件

    大家都知道,IE中的现代事件绑定(attachEvent)与W3C标准的(addEventListener)相比存在很多问题, 例如:内存泄漏,重复添加事件并触发的时候是倒叙执行等。 下面是用传统事件的方法来处理封装事件的绑定: ...

    addEventListener和attachEvent二者绑定的执行函数中的this不相同

    最近在写一个事件代理的时候,遇到一个BUG,发现除此外,二者绑定的执行函数中的 this 是不相同的,addEventListener 和 attachEvent函数在运行时候的上下文是不相同的。 用了一个简单的demo来描述这个不同点: ...

    多种方法实现JS动态添加事件

    JS动态添加事件的方法有很多,我们可以使用setAttribute、attachEvent 和 addEventListener等等,感兴趣的朋友可以参考下

    js添加事件的通用方法推荐

    js添加事件的通用方法推荐 ... 测试添加事件:firefox使用addEventListener,ie使用attachEvent 点击此p标签,绑定了2个弹出事件 [removed] function test1() { alert&#40;test1&#41;; } function test2(){

    js添加绑定事件的方法

    先介绍js添加事件通用方法,具体内容... 测试添加事件:firefox使用addEventListener,ie使用attachEvent 点击此p标签,绑定了2个弹出事件 [removed] function test1() { alert&#40;test1&#41;; } function t

    详解javascript事件绑定使用方法

    如果有多个javascript文件,那么极有可能出现多个[removed]事件,但是最后起作用的只有一个,这时候就需要使用事件绑定来解决这个问题了。 IE方式 attachEvent(事件名称, 函数),绑定事件处理函数 detachEvent(事件...

    javascript 删除dom对象的事件函数代码

    JS添加/删除事件在IE和支持dom浏览器分别为:attachEvent(ie中的添加事件),detachEvent(ie中的删除事件),addEventListener(支持dom浏览器中的添加事件),removeEventListener(支持dom浏览器中的删除事件)...

    自己封装的javascript事件队列函数版

    javascript中使用addEventListener()或attachEvent()绑定事件时会有几个小问题: 一、使用addEventListener()或attachEvent()添加的匿名函数无法移除。 代码如下:var oBtn = document.getElementById(‘btn’);oBtn...

Global site tag (gtag.js) - Google Analytics