美文网首页
十八、DOM之事件绑定的两种处理程序(DOM0和DOM2) --

十八、DOM之事件绑定的两种处理程序(DOM0和DOM2) --

作者: 自己写了自己看 | 来源:发表于2020-03-07 15:19 被阅读0次

    1、什么是DOM0、DOM2:

    /**
    简单说就是JS给DOM元素绑定事件的两种处理方式,DOM0是最初版本的给DOM元素绑定事件的的方法;
    而DOM2是在DOM0的基础上的迭代版本;
    为什么没有DOM1事件处理程序?不是没有,是因为在DOM0和DOM2中间的迭代版本对DOM0没做什么
    修改;所以DOM0也可以说是DOM1;
    */
    

    2、DOM0级事件处理程序:

    box.onclick = function () {}
    
    /**
    box是一个DOM元素,事实上每一个DOM元素都是一个对象,每一个DOM元素对象都是对应类的实例;
    浏览器天生为其设置了很多私有属性和共有的属性、方法,而onclick就是其中的一个私有属性(事件类
    私有属性,还有很多其他事件私有属性),这些属性的默认值是null;
    */
    
    /**
    DOM0级事件处理程序的原理:就是给元素的某一个事件私有属性赋值(浏览器会建立监听机制,当我们
    触发元素的某个行为时,浏览器会自己把属性中赋的值去执行);
    */
    
    /**
    因此DOM0级事件绑定无法给当前元素绑定多个同一事件,多次绑定后面的事件会把前面的事件覆盖掉;
    */
    box.onclick = function () {
        console.log(1);
    }
    box.onclick = function () {
        console.log(2); // 出发点击行为只会输出2;
    }
    

    3、DOM2级事件处理程序:

    // 高版本浏览器添加事件处理程序
    box.addEventListener('click', function () {}, false);
    // 高版本浏览器移除事件处理程序
    box.removeEventListener(函数名);
    
    // IE低版本浏览器添加事件处理程序
    box.attachEvent('onclick', function () {});
    // IE低版本浏览器移除事件处理程序
    box.dettachEvent(函数名);
    

    相关文章

      网友评论

          本文标题:十八、DOM之事件绑定的两种处理程序(DOM0和DOM2) --

          本文链接:https://www.haomeiwen.com/subject/lonjactx.html