zoukankan      html  css  js  c++  java
  • EventUtil.js

    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];
        }
    };
  • 相关阅读:
    繁忙的都市 最小生成树 入门题
    洛谷P2801 教主的魔法 分块
    洛谷 P3203 [HNOI2010]弹飞绵羊 分块
    洛谷P2607 [ZJOI2008]骑士 基环树动归
    Hdu 2586 树链剖分求LCA
    洛谷 P3384 【模板】树链剖分
    洛谷P1816 忠诚 分块
    最全前端开发面试问题及答案整理
    CSS垂直居中和水平居中
    实现一个图片懒加载插件有多难?
  • 原文地址:https://www.cnblogs.com/jackhuclan/p/1150097.html
Copyright © 2011-2022 走看看