我是青木木

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

html事件处理程序

    <div>
        <button id="btn1" onclick="demo()">按钮</button>
    </div>
    <script>
        function demo(){
            alert("html事件处理程序");
        }
    </script>

直接再html中书写 onclick="函数";缺点:修改一处,需要改2处。

dom0级事件处理程序

    <div>
        <button id="btn1">按钮</button>
    </div>
    <script>
        var btn = document.getElementById("btn1")
        btn.onclick = function(){alert("html0级处理程序")};
    </script>

js中先获取元素,再直接写 obj.onclick = "函数"; 清除方式:  btn.onclick = "null"; 缺点:后面的事件绑定会覆盖之前的绑定。

dom2级事件处理程序

.addEventListener ( "事件名不带on",  “事件处理函数”,  “布尔值” )

ture:事件捕获

fales:事件冒泡 默认

"事件名"没有on

 <script>
        var btn = document.getElementById("btn1")
        btn.addEventListener( click , demo1 );
        btn.addEventListener( click , demo2 );
    </script>    

可以绑定多个事件,  清除:.removeEventListener()    

IE8以下事件处理程序

.attachEvent( "事件名带on" , "事件处理函数" )

.detachEvent() 

兼容写法

    <div>
        <button id="btn1">按钮</button>
    </div>
    <script>
        var btn1 = document.getElementById("btn1");
        if(btn1.addEventListener){
            btn1.addEventListener("click",demo);
        }else if (btn1.attachEvent){
            btn1.attachEvent("onclick",demo);
        }else{
            btn1.onclick = demo();

        }
        function demo(){
            alert("事件兼容代码");
        }
    </script>

 

posted on 2016-04-29 11:27  我是青木木  阅读(155)  评论(0编辑  收藏  举报