zoukankan      html  css  js  c++  java
  • javascript面向对象重写右键菜单事件

    <html>
    <head>
    <title></title>
    <script type="text/javascript">


    var EventUtil = {
    addHandler: function (element, type, handler) {

    if (element.addEventListener) {

    element.addEventListener(type, handler, false);
    }

    else if (element.attachEvent) {

    element.attachEvent("on" + type, handler);
    }
    else {

    element["on" + type] = handler;
    }
    },
    getEvent: function (event) {
    return event ? event : window.event;

    },
    getTarget: function (event) {
    return event.target || event.scrElement;
    },
    preventDefault: function (event) {
    if (event.preventDefault) {
    event.preventDefault();
    }
    else {
    event.returnValue = false;
    }
    },
    removeHandler: function (element, type, handler) {
    if (element.removeEventListener) {
    element.removeEventListener(type, handler, false);
    }
    else if (element.detachEvent) {
    element.detachEvent("on" + type, handler);
    }
    else {
    element["on" + type] = null;
    }
    },
    stopPropagation: function (event) {
    if (event.stopPropagation) {
    event.stopPropagation();
    }
    else {
    event.cancelBubble = true;
    }
    }
    };
    EventUtil.addHandler(window, "load", function (event) {

    var testdiv = document.getElementById("testdiv");

    EventUtil.addHandler(testdiv, "contextmenu", function (event) {
    event = EventUtil.getEvent(event);
    EventUtil.preventDefault(event);

    var menu = document.getElementById("myMenu");

    menu.style.left = event.clientX + "px";
    menu.style.top = event.clientY + "px";
    menu.style.visibility = "visible";
    });

    EventUtil.addHandler(document, "click", function (event) {
    document.getElementById("myMenu").style.visibility = "hidden";
    });
    });

    </script>
    </head>
    <body>


    <div id="testdiv" style=" 500px; height:500px; background-color:#eee; ">div</div>

    <div id="myMenu" style=" 100px; height:100px; background-color:Red;position:absolute;">menu</div>
    </body>

    </html>

  • 相关阅读:
    Java程序语言的后门-反射机制
    JAVA设计模式-单例模式(Singleton)线程安全与效率
    JAVA设计模式-动态代理(Proxy)源码分析
    Mybatis源码解析,一步一步从浅入深(七):执行查询
    Mybatis源码解析,一步一步从浅入深(六):映射代理类的获取
    python程序中的进程操作
    进程
    操作系统的发展史
    详尽实用的 PyCharm 教程
    python的socketserver模块实现TCP/UDP并发
  • 原文地址:https://www.cnblogs.com/jcomet/p/2575763.html
Copyright © 2011-2022 走看看