1.on的用法:以onclick為例
第一種:
obj.onclick = function(){ //do something.. }第二種:
obj.onclick= fn; function fn (){ //do something... }
obj.onclick = function(){fn(param)}; function fn(param){ //do something.. }
不能夠這樣寫:錯誤寫法:obj.onclick= fn(param):
addEventListener(event,funtionName,useCapture)
參數:
event:事件的類型如「click」
funtionName:方法名稱
useCapture(可選):布林值,指定事件是否在捕獲或冒泡階段執行。
false- false- 預設。事件句柄在冒泡階段執行寫入法:
第一種:obj.addEventListener("click",function(){
//do something
}));
第二種,沒參數可以直接寫函數名稱
obj.addEventListener("click",fn,fasle)); function fn(){ //do something.. }第三種:函數有參數時需要使用匿名函數來傳遞參數
obj.addEventListener("click",function(){fn(parm)},false);
1.on事件會被後面的on的事件覆蓋
#以onclick為例://obj是一个dom对象,下同//注册第一个点击事件
obj.onclick(function(){
alert("hello world");
});
//注册第二个点击事件
obj.onclick(function(){
alert("hello world too");
});
最終會只有彈框輸出:
hello world too
2.addEventListener 則不會覆寫。
//注册第一个点击事件 obj.addEventListener("click",function(){ alert("hello world"); })); //注册第二个点击事件 obj.addEventListener("click",function(){ alert("hello world too"); }));
hello world hello world too
#三.addEventListener注意事項:
1.特別說明addEventListener不被IE9以下相容,IE9以下用使用attachEvent()obj.attachEvent(event,funtionName);
參數:
load(載入頁面)unload(卸載離開頁面)##change(改變內容)
##五.總結:###############onXXX與addEventListener都是為dom元素加入事件監聽,使其在事件發生後執行對應的程式碼,操作。有了它們我們實現了頁面與使用者互動。 #########相關學習推薦:###javascript影片教學#########
以上是解析Js on及addEventListener原理用法的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!