JavaScript DOM0、DOM2级事件简述

JavaScript DOM0、DOM2级事件简述

1、DOM0级事件:on+事件类型

1.1、在html行内直接绑定,

1.2、在js中绑定

A.DOM0级事件和DOM0级事件相互之间会覆盖,比如以下代码执行后弹出jsDOM0级,js中绑定的事件
覆盖了行内绑定的事件;

2、DOM2级事件:

addEventListener(events,handler,boolean),

removeEventListener(events,handler)

2.1、参数events是以空格间隔的事件类型,handler是事件处理程序,boolean表示是冒泡还
是捕获,true表示捕获,flase表冒泡,默认冒泡。

B.DOM2级绑定事件不会覆盖自身,和DOM0级也能共存;

3、解绑事件:

3.1、DOM0级事件是将onclick属性指向一个函数,所以只需要修改onclick属性指向null即可

3.2、DOM2级事件是为对象添加了监听某种事件的监听器,解绑的时候由removeEventListener
需要指定事件的类型,和事件处理程序的名字,因此这个方法无法解绑匿名事件处理函数的事
件。因为具体指定了事件和事件处理函数,所以同个事件类型的不同事件处理程序不相互影响
,从程序最后的输出可以验证

3.3、DOM0级和DOM2共存,但是执行顺序是按照绑定先后进行的,比如以下代码中先绑定DOM2
事件,再绑定DOM0事件结果先执行DOM2再执行DOM0
/* 1.1*/
<button onclick="alert('行内DOM0级')">点击</button>

(function(){
    /*1.2*/
    var btn = document.getElementsByTagName('button')[0];
    /* 2.1 */
    btn.addEventListener('click',dom2);
    btn.addEventListener('click',dom2Plus);
    btn.onclick = function(){
      console.log('jsDOM0级');
    }
    function dom2(){
      console.log('DOM2级事件');
    }
    function dom2Plus(){
      console.log('DOM2级事件Plus');
    }
    /* 输出结果:
    DOM2级事件
    DOM2级事件Plus
    jsDOM0级
    */

    /* 以下代码解绑了DOM0和DOM2事件*/
    /* 3.1*/
    btn.onclick = null;
    /* 3.2 */
    btn.removeEventListener('click',dom2);

    /* 输出:
    DOM2级事件Plus
    */
  })();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值