- <PRE class=jscript name="code">
- 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){
- var isIE = Validate_Browser("ie");
- var isWin= Validate_System("win");
-
- 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];
- }
- };
-
-
-
- EventUtil.addEventHandler(window, "load", function(){
- var oDiv = document.getElementById("divObj");
- var oDivDel = document.getElementById("divDel");
-
- 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);
- EventUtil.addEventHandler(oDivDel, "click", RemoveEvent);
- });
-
-
- function RemoveEvent (){
- var oDiv = document.getElementById("divObj");
- var oDivDel = document.getElementById("divDel");
-
- EventUtil.removeEventHandler(oDiv, "mouseover", handleEvent);
- EventUtil.removeEventHandler(oDiv, "mouseout", handleEvent);
- EventUtil.removeEventHandler(oDiv, "mousedown", handleEvent);
- EventUtil.removeEventHandler(oDiv, "mouseup", handleEvent);
- EventUtil.removeEventHandler(oDiv, "click", handleEvent);
- EventUtil.removeEventHandler(oDiv, "dblclick", handleEvent);
- EventUtil.removeEventHandler(oDivDel, "click", RemoveEvent);
- var oTextMsg = document.getElementById("oTextMsg"); </PRE>
- <PRE class=jscript name="code"> oTextMsg.value = "附加事件已经清除";</PRE>
- <PRE class=jscript name="code">}
-
- function handleEvent(){
- try{
- var oEvent = EventUtil.getEvent();
- var oTextMsg = document.getElementById("oTextMsg");
- oTextMsg.value = "";
- oTextMsg.value += "/n>" + oEvent.type;
- oTextMsg.value += "/n target is " + oEvent.target.tagName;
-
- if(oEvent.relatedTarget) {
- oTextMsg.value += "/n relatedTarget is " + oEvent.relatedTarget.tagName;
- }
- } catch(e) {
- alert(e.toString());
-
- }
- }</PRE>
|