JavaScript事件处理程序

JavaScript中的事件处理程序主要分为3种:

  • HTML事件处理程序:

    <script type="text/javascript">
    // HTML事件处理程序
    function showMessage(){
        alert("clicked!");
    };
    </script>

<button id="btn" onclick="showMessage()">click me!</button>
  • DOM0级事件处理程序:  

<button id="btn">click me!</button>

    <script type="text/javascript">
    var btn = document.getElementById("btn");
    
    // DOM0 级事件处理程序
    btn.onclick = function(){
        alert("clicked!");
    };
    </script>
  • DOM2级事件处理程序:

<button id="btn">click me!</button>

    <script type="text/javascript">
    var btn = document.getElementById("btn");
    
    // DOM2级事件处理程序, 第三个参数:false表示在冒泡阶段调用事件处理程序
    btn.addEventListener("click", function(){
        alert("clicked!");
    }, false);
    </script>

  

附上兼容性事件绑定函数:

function listenEvent(eventTarget, eventType, eventHandler){
    if(eventTarget.addEventListener){
        eventTarget.addEventListener(eventType, eventHandler, false);
    }
    else if(eventTarget.attachEvent){
        eventType = 'on' + eventType;
        eventTarget.attachEvent(eventType, eventHandler);
    }
    else{
        eventTarget['on' + eventType] = eventHandler;
    }
}
原文地址:https://www.cnblogs.com/MockingBirdHome/p/3218018.html