用attachEvent()/addEventListener()方法添加触发事件
在近来的工作中,用到了attachEvent方法,该方法可以为某一事件附加其它的处理事件,有时候可能比较有用,这里将其基本用法总结一下。
其语法可以查看《DHTML手册》,里面有详细的说明,这里贴一个例子,该例子来自互联网:
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2; document.getElementById("btn").onclick = method3;
|
如果这样写,那么将会只有medhot3被执行
写成这样:
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
以上为转载,以下为我研究的具体实例
var el = EDITFORM_DOCUMENT.body; //先取得对象,EDITFORM_DOCUMENT实为一个iframe if (el.addEventListener){ el.addEventListener('click', KindDisableMenu, false); } else if (el.attachEvent){ el.attachEvent('onclick', KindDisableMenu); }
|
//用两种方法判断,以兼容各种浏览器。
以上为转载
分享到:
相关推荐
一、事件基础 1.事件函数 obj.on-事件名=fn 定义事件的时候,事件函数不会自动执行,当事件触发的...将事件添加到父元素上,当事件发生时,父元素会找到对应触发事件的子元素去处理,后期添加的子元素,依然有这个事件
1,IE使用attachEvent/detachEvent方法来添加和删除事件监听器;w3c使用addEventListener/removeEventListener方法。 2,IE对其事件使用onevent的命名方式,而w3c的是event的命名方式。 3,IE事件监听器内使用的是一...
但是浏览器有addEventListener和attachEvent方法可供调用,从而模拟出类似于C#中的事件委托的事件触发机制! 代码如下: /* * 功能:事件处理 * Author:LQB * 时间:2009-1-4 * #include JCore.js */ var JEvents = ...
在IE浏览器中添加或删除事件用attachEvent、detachEvent。在其他标准浏览器中则用addEventListener、removeEventListener。下面的对事件的添加和删除做了封装。直接看代码吧! /** * @description 事件绑定,兼容...
例如:内存泄漏,重复添加事件并触发的时候是倒叙执行等。 下面是用传统事件的方法来处理封装事件的绑定: addEvent.ID = 1; // 事件计数器 function addEvent(obj, type, fn){ if(obj.addEventListener){ obj....
另外ie中使用srcElement去获得事件触发源,ff下使用target。因此使用这两个对象时需要做相关的浏览器兼容。 点击 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]综合上节attachEvent与addEventListener。 ...
代码如下:$(function () { //定义回车事件 if (document.addEventListener) {//如果是Firefox document.addEventListener(“keypress”, fireFoxHandler, true); } else { document.attachEvent(“onkeypress...
更多的文章可以参考 //www.jb51.net/tag/event/1.htm另外ie中使用srcElement去获得事件触发源,ff下使用target。因此使用这两个对象时需要做相关的浏览器兼容。 srcElement –//www.jb51.net/ 点击 [Ctrl+...
大家都知道事件的用法就是当某个事件(状况)被触发了之后就会去执行某个Function, 尤其是Javascript, 在当红AJAX的催化下, 了解Javascript的Event用法更加重要, 在这里就大概介绍一下avascript的Event用法.
代码如下: var addEvent = function(e, what, how) { if (e.addEventListener) e.addEventListener(what, how, false) else if (e.attachEvent) e.attachEvent(‘on’ + what, how) } 这里考虑了给元素绑定事件时...
代码如下: /** * @description 事件绑定,兼容各浏览器 * @param target 事件触发对象 * @param type 事件 * @param func 事件处理函数 */ function addEvents(target, type, func) { if (target.addEventListener) ...
46、JS ATTACHEVENT与ADDEVENTLISTENER区别 321 47、JS WINDOW.EVENT.CANCELBUBBLE 事件冒泡 323 48、JS解决COOKIE跨域访问的问题之方法一 323 49、JS禁止复制网页代码 324 50、JS 禁止剪切、复制、粘贴的文本框代码...
数年前,只要我们编写JavaScript,都必须用到几个常用的函数,比如,addEventListener 和 ...如果你在使用scroll, resize, key*等事件触发执行任务时不使用降频函数,也行你就犯了重大的错误。下面这个降频函数 d