zoukankan      html  css  js  c++  java
  • HTML事件处理程序

    事件处理程序中的代码执行时,有权访问全局作用域中任何代码。

     //为按钮btn_event添加了两个个事件处理程序,而且该事件会在冒泡阶段触发(最后一个参数是false)。
            var btn_event = document.getElementById("btn_event");
            var handler = function () {
                alert(this.id);
            };
            var handler2 = function () {
                alert("hello longdb");
            };
            btn_event.addEventListener("click", handler, false);
            btn_event.addEventListener("click", handler2, false);
    
            //移出第二个事件处理程序。
            btn_event.removeEventListener("click", handler2, false);//第二个参数传入handler2函数才有效。

     IE事件处理程序:

       //移出第二个事件处理程序。
            btn_event.removeEventListener("click", handler2, false);//第二个参数传入handler2函数才有效。
    
            // IE事件处理程序。IE实现了与DOM中类似的两个方法:
            //执行顺序与DOM的addEventListener相反。
            btn_event.attachEvent("onclick", handler);
            btn_event.attachEvent("onclick", handler2);
    
            //移出第一个事件处理程序。
            btn_event.detachEvent("onclick",handler);

    垮浏览器事件处理程序:

       //垮浏览器的事件处理程序。
            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;
                    }
                },
                removeEventListener: 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;
                    }
                }
                ,
                getEvent: function (event){
                    return event ? event : window.event;
                }
                ,
                getTarget: function (event){
                    return event.target || event.srcElement;
                }
                ,
                preventDefault: function (event) {
                    if (event.preventDefault) {
                        return event.preventDefault;
                    }
                    else {
                        return event.returnValue = false;
                    }
                }
            };
    
            //这样利用上面的对象。
            EventUtil.addHandler(btn_event, "click", handler);
            EventUtil.addHandler(btn_event, "click", handler2);
            EventUtil.removeEventListener(btn_event, "click", handler2);//移出handler2事件处理程序。
  • 相关阅读:
    asp.net core3.1修改代码以支持windows服务发布
    .NET Core3.1IFreeSql使用FreeSql.Generator自动生成实体类
    西南大学2021年秋《线性代数》参考答案
    西南大学2021年秋形势与政策2 阶段一参考答案
    送给程序员的礼物
    西南大学2021年秋形势与政策2 阶段三参考答案
    拿 M 奖真的那么难吗?这份美赛攻略请收下!
    前端开发必会实战项目,Vue Router 实战来啦!​​
    你喜欢哪款 Linux 桌面?萝莉风?御姐风?
    Python 挑战,你通关了吗?速来看题解!
  • 原文地址:https://www.cnblogs.com/longdb/p/7497885.html
Copyright © 2011-2022 走看看