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; } }