`

attachEvent兼容各浏览器事件(DOM2级事件的兼容处理)

阅读更多

【前言】

    本文简单介绍下attachEvent兼容各浏览器事件(DOM2级事件的兼容处理)

 

【主体】

    直接上代码:

    <button id="btn">按钮</button>
	<script type="text/javascript">
		window.onload = function(){
			// DOM2事件兼容
			function addEvent(obj,ev,fn){
				//obj为要绑定事件的元素,ev为要绑定的事件,fn为绑定事件的函数
				if(document.addEventListener){
					obj.addEventListener(ev, fn, false);
				}else{
					obj.attachEvent("on" + ev, fn);
				}
			}

			var btn = document.getElementById("btn");
			addEvent(btn,"click",show1);
			addEvent(btn,"click",show2);
			function show1(){alert(1)}
			function show2(){alert(2)}
		}
	</script>

 

 

.

分享到:
评论

相关推荐

    事件高级用法及兼容写法

    2)事件的兼容性: 在低版本的IE和火狐上,事件传递机制不一样,需要通过window.event来获取事件 window.event||e 二、事件绑定和取消 1. 事件绑定 添加事件的做法,若出现为同一个节点绑定了同名的事件,会出现覆盖...

    原生JS绑定滑轮滚动事件兼容常见浏览器

    下面我实现的方法,兼容常见浏览器。 function getData(event){ var e = event || window.event; //获取滚动距离(FF每次滚动 data为3或者-3,其他为120或者-120) var data = e.detail || e.wheelDelta; alert&#40;...

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

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

    IE11没有window.attachEvent方法处理方法

    IE11没有window.attachEvent方法处理方法,文档中有详细说明

    JavaScriptDesignPatterns:JavaScript设计模式学习

    // 对于支持dom2级事件处理程序 addEventListener方法的浏览器 if (dom.addEventListener) { dom.addEventListener(type, fn, false); } // 对于支持 attachEvent 方法的浏览器 else if (dom.attachEvent) { ...

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

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

    js绑定事件和解绑事件

    attachEvent方法 只支持IE678,不兼容其他浏览器 addEventListener方法 兼容火狐谷歌,不兼容IE8及以下 addEventListener方法 div.addEventListener('click',fn); div.addEventListener('click',fn2); function fn...

    attachEventRetrofill:attachEvent 改造! 为您的现代浏览器带来 IE8 兼容性

    attachEvent Retrofill 释放旧记忆并安装attachEvent改造! 随着 IE 的消失和 Edge 的出现,微软将删除所有并完全坚持 Web 标准。 这使得所有addEvent包装器功能完全过时。 不要让这种情况发生并立即安装attachEvent...

    js常见的兼容问题.js

    2.关于获取行外样式 currentStyle 和 getComputedStyle 出现的兼容性问题;、 3.关于DOM中 childNodes 获取子节点出现的兼容性问题; 4.关于使用 firstChild,lastChild 等,获取第一个/最后一个元素节点时的兼容;...

    JavaScript DOM 添加事件

    因为对于支持DOM的浏览器来说,添加事件是用addEventListener()方法来给对象添加事件! 而对于MSIE来说则是用attachEvent()来给对象添加事件!这就使得我们必须用一个容器来装载这两个不同浏览器上对事件的处理方式...

    jQuery 处理页面的事件详解

    由于不同浏览器处理事件各不相相同,这给开发者带来了不必要的麻烦,jQuery的方便的解决了这个方面的麻烦。 1.绑定事件监听 (//www.jb51.net/article/60096.htm)对事件的监听做了详细的介绍,看到了iE和DOM标准...

    javascript attachEvent绑定多个事件执行顺序问题

    执行顺序是没有规律的,但是每次执行的顺序是一样的,如果是随机那么应该每次执行的顺序都不一样才对,这才是我想要说明的

    javascript中attachEvent用法实例分析

    这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? obj.onclick=method1 obj.onclick=method2 obj.onclick=method3 如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们...

    Javascript Event事件中IE与标准DOM的比较

    冒泡型事件模型: button-&gt;div-&gt;body (IE事件流) 捕获型事件模型: body-&gt;div-&gt;button (Netscape事件流) DOM事件模型: body-&gt;div-&gt;button-&gt;button-&gt;div-&gt;body (先捕获后冒泡) 2.事件侦听函数的区别 IE使用: ...

    JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题

    将 DOM 0级事件处理程序和DOM2级事件处理程序 IE事件处理程序封装为eventUtil对象,达到跨浏览器的效果。代码如下: var eventUtil = { // 添加事件句柄 addEventHandler:function (element,type,handler) { if ...

    原生js事件的添加和删除的封装

    * @description 事件绑定,兼容各浏览器 * @param target * 事件触发对象 * @param type * 事件 * @param func * 事件处理函数 */ function bind(target, type, func) { if (target.addEventListener) {// 非ie 和ie...

    self.attachevent is not a function的解决方法

    self.attachevent is not a function其实就是以前的代码, 没有做chrome、firefox浏览器兼容导致。 self.attachEvent("onblur",function(){dd.style.display="none"}) 上面的代码在chrome浏览器肯定会报错的。 因为...

    各种浏览器兼容问题

    关于用脚本设置onload事件句柄 ... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]关于用脚本绑定事件句柄 IE 下用 attachEvent, FF 下用 addEventListener相关讨论如下:http://search.blueidea.com/?q=addE

    JavaScript中的跨浏览器事件操作的基本方法整理

    //DOM2级事件处理,IE9也支持 if(element.addEventListener){ element.addEventListener(type,handler,false); } else if(element.attachEvent){ //type加'on' //IE9也可以这样绑定 element.attachEvent('on...

    兼容浏览器的js事件绑定函数(详解)

    因为javascript中所有对象都集成与Object,那么只有给Object原型添加一个事件绑定函数,就不需要在处理绑定事件的时候,每次写一长串代码,直接调用即可。在代码中添加红色部分代码,直接便可以在代码中直接调用 ...

Global site tag (gtag.js) - Google Analytics