跨浏览器事件处理

var btn3 = document.getElementById("btn");

function event(){}

var eventUtil = {

//添加句柄

addHandler:function(element,type,handler){//element表示的是哪个元素,type表示的是事件类型(click,mouseover),handler表示的是处理的函数

if(element.addEventListener)//DOM2级处理函数

element.addEventListener(type,handler,false);

else if(element.attachEvent)//IE事件处理程序

element.attachEvent("on"+type,handler);//这里要变成onclick,所以要加on

else

element["on"+type] = handler;//一般事件处理函数

},

//删除句柄

removeHandler:function(element,type,handler){

if(element.removeEventListener)

element.removeEventListener(type,handler,false);

else if(element.detachEvent)

element.distachEvent("on"+type,handler);

else

element["on"+type] = handler;

}

},

eventUtil.addHandler(btn3,"click",event);

eventUtil.removeHandler(btn3,"click",event);

时间: 2024-08-14 08:36:32

跨浏览器事件处理的相关文章

JavaScript 跨浏览器事件处理工具

/** * 跨浏览器事件处理工具.只支持冒泡.不支持捕获 * @author ([email protected]) */ var EventUtil = { getEvent: function (event) { return event || window.event; }, getTarget: function (event) { return event.target || event.srcElement; }, // 返回注册成功的监听器,IE中需要使用返回值来移除监听器 on:

【js事件详解】js事件封装函数,js跨浏览器事件处理机制

一.事件流 事件流描述的是从页面中接受事件的顺序.IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流1.事件冒泡事件冒泡,即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上转播至最不具体的节点(文档).2.事件捕获事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点最后接收到事件. 相关知识链接:js的事件冒泡和事件捕获 二.事件处理程序 1.HTML事件处理程序2.DOM0级事件处理程序3.DOM2级事件处理程序 DOM2级事件定义了两个方法

javaScript跨浏览器事件处理封装代码

var eventUtil = { addhandler:function(element,type,handler){ if(element.addEventListener){//Dom2级事件处理 element.addEventListener(type,handler,false); }else if(element.attachEvent){//Ie浏览器事件处理 element.attachEvent('on'+type,handler); }else{ element['on'+

js跨浏览器事件处理

var EventUtil = { addHandler: function(element,type,handler){ if(element.addEventListener){ element.addEventListener(type,handler,false); //添加DOM2事件 }else if(element.attachEvent){ element.attachEvent("on"+type,handler); //添加IE事件 }else{ element[&

跨浏览器事件对象封装

封装一个能够隔离浏览器差异的JavaScript库EventUtil,主要是使用能力检测. var EventUtil={ addHandler:function(element,type,handler){ if(element.addEventListener){ element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent('on'+type,handler)

事件处理之跨浏览器

在浏览器众多的今天,跨浏览器显得尤为重要 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

DOM(十四):代理检测和事件处理(跨浏览器)

一.检测 用于用户代理检测,检测范围包括浏览器引擎.平台.Windows.移动设备和游戏系统等 /* *用户代理检测脚本,检测范围包括浏览器引擎.平台.Windows.移动设备和游戏系统 */ var client = function() { //呈现引擎 var engine = { ie:0, //ie gecko:0, //火狐 webkit:0, //chrome和safari khtml:0, //Linux下的Konqueror opera:0, //opera ver:null

EventUtil——跨浏览器的事件对象

前言:什么是EventUtil? 在JavaScript中,DOM0级.DOM2级与旧版本IE(8-)为对象添加事件的方法不同 为了以跨浏览器的方式处理事件,需要编写一段“通用代码”,即跨浏览器的事件处理程序 习惯上,这个方法属于一个名为EventUtil的对象 编写并使用该对象后,可保证处理事件的代码能在大多数浏览器下一致的运行 本文将围绕着EventUtil对象展开,并提供该通用对象代码以作参考分享 文章主要内容参考书籍为<JavaScript高级程序设计>([美]Nicholas C.Z

处理跨浏览器的事件处理程序

事件:事件是用户或浏览器自身执行的某些动作,例如 : click   load   mouseover 事件处理程序:用于响应某个事件的函数 在不同的浏览器,DOM中,事件处理程序是响应某个事件的函数 DOM0:中事件处理函数  event:onclick=function              删除程序:event:onclick=null: DOM 2:addEventListener()            removeEventListener(); 他们都接受三个参数,要处理的事