DOM级事件

0级DOM分为2个:一是在标签内写onclick事件

      二是在JS写onlicke=function(){}函数

2级DOM

只有一个:监听方法,原生有两个方法用来添加和移除事件处理程序:addEventListener()和removeEventListener()。

它们都有三个参数:第一个参数是事件名(如click);

         第二个参数是事件处理程序函数;

           第三个参数如果是true则表示在捕获阶段调用,为false表示在冒泡阶段调用。

  • addEventListener():可以为元素添加多个事件处理程序,触发时会按照添加顺序依次调用。
  • removeEventListener():不能移除匿名添加的函数。

区别:如果定义了两个dom0级事件,dom0级事件会覆盖

dom2不会覆盖,会依次执行

dom0和dom2可以共存,不互相覆盖,但是dom0之间依然会覆盖



//EventUtil

        var EventUtil = {


            addHandler: function (element, type, handler) {
                if (element.addEventListener) {        //DOM2级
                    element.addEventListener(type, handler, false);


                } else if (element.attachEvent) {      //DOM1级
                    element.attachEvent("on" + type, handler);


                } else {
                    element["on" + type] = handler;    //DOM0级
                }
            },


            removeHandler: function (element, type, handler) {   //类似addHandler


                if (element.removeEventListener) {
                    element.removeEventListener(type, handler, false);


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


                } else {
                    element["on" + type] = null;


                }
            }


        }
        var btn1 = document.getElementById("myBtn1");


        var handler = function () {
            alert("hello handler");
        }


        EventUtil.addHandler(btn1, "click", handler);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值