javascript中addEventListener和attachEvent區別

javascript中addEventListener和attachEvent區別

object.addEventListener(type, listener, useCapture);
object:文檔節點
type:字符串,事件名稱如“click”、“mouseover”、“keydown”

listener: 實現了 EventListener 接口或者是 JavaScript 中的函數。
useCapture: 是否使用捕捉,看了後面的事件流一節後就明白了,一般用 false

attachEvent(”submit”);
事件觸發時,會將一個 Event 對象傳遞給事件處理程序,比如:
document.getElementById("testText").addEventListener("keydown", function (event) { alert(event.keyCode); }, false);
適應的瀏覽器版本不同,同時在使用的過程中要注意
attachEvent方法IE中使用
addEventListener方法活狐類中使用

W3C格式:

removeEventListener(event,function,capture/bubble);

IE的格式:

detachEvent(event,function);

示例:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script language="javascript">
function fu1(){alert("function1");}
function fu2(){alert("function2");}
function fu3(){alert("function3");}
</script>
</head>

<body>
<input type="button" value="按鈕" id="btn" />
</body>
<script language="javascript">
var btn=document.getElementById("btn");
/*btn.attachEvent("onclick",fu1);
btn.attachEvent("onclick",fu2);
btn.attachEvent("onclick",fu3);*/
btn.addEventListener("click",fu1,false);
btn.addEventListener("click",fu2,false);
btn.addEventListener("click",fu3,false);
</script>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章