js事件跨浏览器处理方案

js跨浏览器事件工具:

//事件工具对象

var EventUtil = {};

//添加事件

EventUtil.addEvent = function(element,type,handle) {

if(element.addEventListener) { //dom事件

element.addEventListener(type,handle,false);

}

else if(element.attachEvent) {

element.attachEvent("on" + type,handle);

}

else {

element["on" + type] = handle;

}

}

//删除事件

EventUtil.removeEvent = function(element,type,handle) {

if(element.removeEventListener) { //dom事件

element.removeEventListener(type,handle,false);

}

else if(element.detachEvent) {

element.detachEvent("on" + type,handle);

}

else {

element["on" + type] = handle;

}

}

//得到event

EventUtil.getEvent = function(event) {

return event?event:window.event;

}

//得到当前事件拥有对象

EventUtil.getTarget = function(event) {

return event.targert || event.srcElement;

}

//阻止浏览器默认事件

EventUtil.preventDefault = function(event) {\

if(event.preventDefault) {

event.preventDefault();

}

else {

event.returnValue = false;

}

}

//阻止事件捕获或冒泡

EventUtil.stopPropagation = function(event) {

if(event.stopPropagation) {

event.stopPropagation();

}

else {

event.cancelBubble = false;

}

}

时间: 2024-08-05 16:25:20

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

js事件跨浏览器解决问题的学习与总结

//定义一个EventUtil对象 var EventUtil = {  //兼容浏览器注册事件处理程序 addHandler: function(element, type, handler){  // 该方法接受3个参数:要操作的元素,事件名称和事件处理程序函数  if (element.addEventListener){ //检查传入的元素是否存在DOM2级方法  element.addEventListener(type, handler, false); // 若存在,则使用该方法 

Event事件跨浏览器封装

1 var Event = { 2 //注册事件 3 addEvent: function(element,type,handler){ 4 if(element.addEventListener){ //DOM2级 5 element.addEventListener(type,handler,false); //false为冒泡,true为捕获 6 }else if(element.attachEvent){ //IE 7 element.attachEvent("on"+type

js事件对象--DOM中的事件对象/IE中的事件对象/跨浏览器的事件对象

事件对象    在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型,以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对象中,会包含鼠标位置的信息,而键盘操作导致的事件对象中,会包含与按下的键有关的信息.所有浏览器对象都支持event对象,但支持方式不同. DOM中的事件对象 兼容DOM的浏览器会将一个event对象传入到事件处理程序中.无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event

跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现

postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯.到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现. postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,postMessage 应用场景能说明这个区别: 应用场景举例 webOS 使用 iframe 嵌入

JS-DOM2级事件对象跨浏览器处理(已封装)

1 var eventUill = { 2 //添加事件 3 addHander: function(element, type, handler) { 4 if(element.addEventListener) { 5 element.addEventListener(type, handler, false); 6 } else if(element.attachEvent) { 7 element.attachEvent('on' + type, handler); 8 } else {

跨浏览器的事件处理程序——事件处理程序、事件对象差异

为了以跨浏览器的方式处理事件,不少开发人员会使用能够隔离浏览器差异的javascript库,本文从事件处理程序.事件对象差异出发,演示开发最适合的事件处理方法 基本名词解析: 事件 用户或浏览器自身执行的某种动作 事件流 从页面中接收事件的顺序,,IE的事件流指的是事件冒泡流,而Netscape Communicator的事件流是事件捕获流 事件冒泡 事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档) 事件捕获 不太具体的节点应该更早接收到事

跨浏览器图像灰度(grayscale)解决方案

E10开始抛弃了这种私有滤镜,但是还没有提供对标准CSSfilter的支持,所以说IE10以上版本的灰度图像,仍然是一个问题.2.W3c CSS filter方式CSS3中借鉴IE私有滤镜的方式提供了标准的CSS Filter方案,里面可以支持grayscale灰度.sepia褐色.saturate饱和度.hue-rotate色相旋转.invert反色.opacity透明度.brightness亮度.contrast对比度.blur模糊.drop-shadow阴影等十种效果.关于CSS3 Fil

解决SVG跨浏览器兼容性问题

Raphael JS:SVG/VML+JS实现跨浏览器的矢量图形实现方案 http://blog.csdn.net/tiewen/article/details/8535748 SVG那些小事儿 http://www.w3cfuns.com/article-5601506-1-1.html Raphaël—JavaScript Library http://raphaeljs.com/ Raphael JS:SVG/VML+JS实现跨浏览器的矢量图形实现方案

JavaScript 跨浏览器事件处理工具

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