统一javascript中的事件(来自javascript高级程序设计)
2007-04-28 10:10
513 查看
var eventUtil = new Object;
eventUtil.addEventHandler = function(target, eventType, handler) ...{
if (target.addEventListener) ...{
target.addEventListener(eventType, handler, false);
} else if (target.attachEvent) ...{
target.attachEvent("on" + eventType, handler);
} else ...{
target["on" + eventType] = handler;
}
};
eventUtil.removeEventHandler = function(target, eventType, handler) ...{
if (target.removeEventListener) ...{
target.removeEventListener(eventType, handler);
} else if (target.detachEvent) ...{
target.detachEvent("on" + eventType, handler);
} else ...{
target["on" + eventType] = null;
}
};
eventUtil.formatEvent = function(evt) ...{
if (isIE && isWin) ...{
evt.charCode = (evt.type == "keypress") ? evt.keyCode : 0;
evt.eventPhase = 2;
evt.isChar = (evt.charCode > 0);
evt.pageX = evt.clientX + document.body.scrollLeft;
evt.pageY = evt.clientY + document.body.scrollTop;
evt.preventDefault = function() ...{
this.returnvalue = false;
};
if (evt.type == "mouseout") ...{
evt.relatedTarget = evt.toElement;
} else if (evt.type == "mouseover") ...{
evt.relatedTarget = evt.fromElement;
}
evt.stopPropagation = function() ...{
this.cancelBubble = true;
};
evt.target = evt.srcElement;
evt.time = (new Date()).getTime();
}
return evt;
};
eventUtil.getEvent = function() ...{
if (window.event) ...{
return this.formatEvent(window.event);
} else ...{
return EventUtil.getEvent.caller.arguments[0];
}
};
相关文章推荐
- web前端之JavaScript高级程序设计六:事件
- JavaScript高级程序设计学习笔记--事件(二)(事件对象--DOM中的事件对象/IE中的事件对象/跨浏览器的事件对象)
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
- 读javascript高级程序设计11-事件
- Javascript高级程序设计--事件笔记
- javascript高级程序设计第三版 第13章 事件
- JavaScript高级程序设计 阅读笔记(十七) js事件
- 事件流之事件冒泡与事件捕获<JavaScript高级程序设计>学习笔记
- 跨浏览器的JavaScript事件处理[JavaScript高级程序设计]
- JavaScript高级程序设计零碎知识点 事件与处理脚本
- JavaScript高级程序设计 DOM事件处理 读书笔记
- javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
- Javascript高级程序设计第十三章(事件)
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
- javascript高级程序设计第二版第十二章事件要点总结
- javascript事件小结(事件处理程序方式)--javascript高级程序设计笔记
- JavaScript高级程序设计11--事件
- JavaScript高级程序设计 事件学习笔记