001-DOM事宜

决议照样继承写博客,纪录事情进修中碰到的题目,每天晚上对进修和碰到的题目举行总结。

1.DOM事宜

1.HTML事宜处置惩罚顺序
2.DOM的0级事宜(把一个函数函数赋值给一个事宜处置惩罚顺序属性)element.onclick(function(){})
3.DOM的二级事宜(element.addEventListener(type,fn,false),(false增加到冒泡阶段)、
element.attachEvent(type,fn,false))

2.封装一个对象兼容种种浏览器

    var EventUtil = {
        addEvent: function (element, type, fn) {
            if (element.addEventListener) {
                element.addEventListener(type, fn, false);
            } else if (element.attachEvent) {
                element.attachEvent('on' + type, fn);  //兼容IE
            } else { 
                element['on' + type] = fn;      //DOM的0级
            }
        },

        removeEvent: function (element, type, fn) {
            if (element.removeEventListener) {
                element.removeEventListener(type, fn, false);
            } else if (element.detachEvent) {
                element.detachEvent('on' + type, fn);
            } else { 
                element['on' + type] = null;
            }
        }
    }

3.小例子

  • HTML构造

    <div id="box">
        <input type="button" value="按钮0" id="btn0">
    </div>
  • JS代码
    我们现在给这个按钮增加事宜

//随意写一个函数,假定触发这个按钮的点击事宜后,会挪用这个函数

    function showMsg(event) {
        alert(event.target.nodeName);  //会把绑定这个事宜的标签的名字显示出来
        event.stopPropagation();      //阻挠冒泡
        event.preventDefault();       //阻挠默许行动
    }
    
    //猎取这个按钮
    var btn0 = document.getElementById('btn0');
    //挪用上面写的封装的函数绑定事宜
    EventUtil.addEvent(btn0, 'click', showMsg);
   

4.总结

主如果回忆了一下DOM事宜,背面又做了两个小演习
1.封装事宜处置惩罚
2.event事宜对象

    原文作者:yangdepp
    原文地址: https://segmentfault.com/a/1190000010367194
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞