国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Js on及addEventListener原理用法區別解析

瀏覽:81日期:2024-04-30 15:29:22

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

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 worldhello 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元素添加事件監聽,使其在事件發生后執行相應的代碼,操作。有了它們我們實現了頁面與用戶交互。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 乡宁县| 株洲县| 砚山县| 孝义市| 县级市| 黄冈市| 岳阳市| 郑州市| 江安县| 西峡县| 龙胜| 扶绥县| 中阳县| 贵州省| 黄浦区| 百色市| 泗阳县| 寿光市| 尉氏县| 利辛县| 浮山县| 清流县| 崇礼县| 昆山市| 峨山| 海宁市| 锡林郭勒盟| 宝清县| 酉阳| 荔浦县| 乐清市| 尼木县| 平邑县| 建阳市| 民和| 桂阳县| 普兰县| 宁城县| 肇东市| 剑河县| 革吉县|