javascript 格式化event对象
来源:互联网 发布:甲贺忍法帖知乎 编辑:程序博客网 时间:2024/05/19 17:57
DOM属性/方法IE属性/方法altKeyaltKeybubbles-buttonbuttoncancelBubblecancelBubblecharCodekeyCodeclientXclientXclientYclientYctrlKeyctrlKeycurrentTarget-detail-eventPhase-isChar-keyCodekeyCodemetaKey-pageX-pageY-preventDefault()returnValue = false;relatedTargetfromElement toElementscreenXscreenXscreenYscreenYshiftKeyshiftKeystopProgation()cancelBubble = truetargetsrcElementtimeStamp-typetype
格式代码:
- var EventUtil = new Object;
- EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler) {
- if (oTarget.addEventListener) {
- oTarget.addEventListener(sEventType, fnHandler, false);
- } else if (oTarget.attachEvent) {
- oTarget.attachEvent("on" + sEventType, fnHandler);
- } else {
- oTarget["on" + sEventType] = fnHandler;
- }
- };
- EventUtil.removeEventHandler = function (oTarget, sEventType, fnHandler) {
- if (oTarget.removeEventListener) {
- oTarget.removeEventListener(sEventType, fnHandler, false);
- } else if (oTarget.detachEvent) {
- oTarget.detachEvent("on" + sEventType, fnHandler);
- } else {
- oTarget["on" + sEventType] = null;
- }
- };
- EventUtil.formatEvent = function (oEvent) {
- if (isIE && isWin) {
- oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0;
- oEvent.eventPhase = 2;
- oEvent.isChar = (oEvent.charCode > 0);
- oEvent.pageX = oEvent.clientX + document.body.scrollLeft;
- oEvent.pageY = oEvent.clientY + document.body.scrollTop;
- oEvent.preventDefault = function () {
- this.returnValue = false;
- };
- if (oEvent.type == "mouseout") {
- oEvent.relatedTarget = oEvent.toElement;
- } else if (oEvent.type == "mouseover") {
- oEvent.relatedTarget = oEvent.fromElement;
- }
- oEvent.stopPropagation = function () {
- this.cancelBubble = true;
- };
- oEvent.target = oEvent.srcElement;
- oEvent.time = (new Date).getTime();
- }
- return oEvent;
- };
- EventUtil.getEvent = function() {
- if (window.event) {
- return this.formatEvent(window.event);
- } else {
- return EventUtil.getEvent.caller.arguments[0];
- }
- };
- <html>
- <head>
- <title>Mouse Events Example</title>
- <script type="text/javascript" src="detect.js"></script>
- <script type="text/javascript" src="eventutil.js"></script>
- <script type="text/javascript">
- EventUtil.addEventHandler(window, "load", function () {
- var oDiv = document.getElementById("div1");
- EventUtil.addEventHandler(oDiv, "mouseover", handleEvent);
- EventUtil.addEventHandler(oDiv, "mouseout", handleEvent);
- EventUtil.addEventHandler(oDiv, "mousedown", handleEvent);
- EventUtil.addEventHandler(oDiv, "mouseup", handleEvent);
- EventUtil.addEventHandler(oDiv, "click", handleEvent);
- EventUtil.addEventHandler(oDiv, "dblclick", handleEvent);
- });
- function handleEvent() {
- var oEvent = EventUtil.getEvent();
- var oTextbox = document.getElementById("txt1");
- oTextbox.value += "/n>" + oEvent.type;
- oTextbox.value += "/n target is " + oEvent.target.tagName;
- if (oEvent.relatedTarget) {
- oTextbox.value += "/n relatedTarget is " + oEvent.relatedTarget.tagName;
- }
- }
- </script>
- </head>
- <body>
- <p>Use your mouse to click and double click the red square.</p>
- <div style="width: 100px; height: 100px; background-color: red" id="div1"></div>
- <p><textarea id="txt1" rows="15" cols="50"></textarea></p>
- </body>
- </html>
注:detect.js为浏览器、操作系统检测脚本 (见 javascript 检测浏览器类型、操作系统平台的代码)
eventutil.js为上面的格式代码。
- javascript 格式化event对象
- Javascript的Event对象
- Javascript的Event对象
- javascript event对象
- javascript event对象
- Javascript的event对象
- Javascript的Event对象
- Javascript的Event对象
- javascript event对象详解
- javascript event对象详解
- javascript Event对象详解
- javascript event对象
- Javascript的Event对象
- javascript之event对象
- JavaScript中的event对象
- 18. JavaScript event 对象
- JavaScript event对象
- javascript内置对象------event对象
- VC6.0+OpenCV 人脸检测的代码分析
- 增加 javascript 的 trim 函数
- 献给看帖不回帖的人!
- C# 正则表达式整理备忘
- 字符、字节和编码
- javascript 格式化event对象
- linux 下svn 的日常使用
- 学习.Net的经典网站
- 大家看我的空间日志,有篇文章竟然被访问1000万次~~
- SWT做的一个日历控件
- linux ftp限定用户目录
- linux 修改默认语言环境
- 车牌识别源代码
- XFire客户端流程分析