中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Js on及addEventListener原理用法有什么區別

發布時間:2020-07-15 15:39:03 來源:億速云 閱讀:332 作者:Leah 欄目:web開發

本篇文章給大家分享的是有關Js on及addEventListener原理用法有什么區別,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一.首先介紹兩者的用法:

1.on的用法:以onclick為例

第一種:

obj.onclick = function(){
//do something..
}

第二種:

obj.onclick= fn;
function fn (){
//do something...
}

第三種:當函數fn有參數的情況下使用匿名函數來傳參:

obj.onclick = function(){fn(param)};
function fn(param){
//do something..
}

不能夠這樣寫:錯誤寫法:obj.onclick= fn(param):

因為這樣寫函數會立即執行,不會等待點擊觸發,特別注意一下

2.addEventListener的用法:

形式:

addEventListener(event,funtionName,useCapture)

參數:

  • event:事件的類型如 “click”
  • funtionName:方法名
  • useCapture(可選):布爾值,指定事件是否在捕獲或冒泡階段執行。
  • true - 事件句柄在捕獲階段執行
  • 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);

參數:

event:事件類型(需要寫成“onclick”前面加on,這個與addEventListener不同)

funtionName:方法名(要參數是也是需要使用匿名函數來傳參)

四.事件集合:

1.鼠標事件:

  • click(單擊)
  • dbclick(雙擊)
  • mousedown(鼠標按下)
  • mouseout(鼠標移走)
  • mouseover(鼠標移入)
  • mouseup(鼠標彈起)
  • mousemove(鼠標移動)

2.鍵盤事件:

  • keydown(鍵按下)
  • keypress(按鍵)
  • keyup(鍵起來)
  • 3.HTML事件:
  • load(加載頁面)
  • unload(卸載離開頁面)
  • change(改變內容)
  • scroll(滾動)
  • focus(獲得焦點)
  • blur(失去焦點)

五.總結:

onXXX與addEventListener都是為dom元素添加事件監聽,使其在事件發生后執行相應的代碼,操作。有了它們我們實現了頁面與用戶交互。


以上就是Js on及addEventListener原理用法有什么區別,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岳阳县| 新兴县| 泰来县| 京山县| 淄博市| 澳门| 沐川县| 南投市| 安陆市| 青铜峡市| 湖口县| 沙雅县| 滦平县| 微山县| 绵竹市| 秦皇岛市| 汝州市| 河池市| 固原市| 土默特左旗| 清远市| 阳春市| 丹棱县| 大关县| 双柏县| 五华县| 海阳市| 翁牛特旗| 平湖市| 长阳| 吉首市| 大宁县| 东兴市| 峨边| 丹阳市| 府谷县| 如皋市| 宜州市| 米林县| 玛纳斯县| 凤城市|