最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生js事件的添加和刪除的封裝

 更新時間:2014年07月01日 11:19:19   投稿:whsnow  
在IE瀏覽器中添加或刪除事件用attachEvent、detachEvent,下面的對事件的添加和刪除做了封裝,感興趣的朋友可以參考下

在IE瀏覽器中添加或刪除事件用attachEvent、detachEvent。在其他標準瀏覽器中則用addEventListener、removeEventListener。下面的對事件的添加和刪除做了封裝。直接看代碼吧!

/**
* @description 事件綁定,兼容各瀏覽器
* @param target
* 事件觸發(fā)對象
* @param type
* 事件
* @param func
* 事件處理函數(shù)
*/
function bind(target, type, func) {
if (target.addEventListener) {// 非ie 和ie9
target.addEventListener(type, func, false);
} else if (target.attachEvent) { // ie6到ie8
target.attachEvent("on" + type, func);
} else {
target["on" + type] = func; // ie5
}
}
/**
* @description 事件移除,兼容各瀏覽器
* @param target
* 事件觸發(fā)對象
* @param type
* 事件
* @param func
* 事件處理函數(shù)
*/
function unbind(target, type, func) {
if (target.removeEventListener) {
target.removeEventListener(type, func, false);
} else if (target.detachEvent) {
target.detachEvent("on" + type, func);
} else {
target["on" + type] = null;
}
}

其他補充關于addEventListener第三個參數(shù)的含義


addEventListener的第三個參數(shù)

W3C DOM里用來新增觸發(fā)事件的函數(shù)叫AddEventListener,不過我一直不知道這個函數(shù)的第三個參數(shù)是要做什么用的,總是隨便設,也沒發(fā)現(xiàn)差異再哪,前兩天看ppk on javascript終于看到說明了,至于很久以前就有的DOM的標準文件,我其實根本沒去找過這個參數(shù)的資訊。

這個參數(shù)叫做useCapture,是一個boolean值,就是true or false,如果送出true的話就是瀏覽器會使用Capture方式,false的話是Bubbling,只有在特定狀況下才會有影響,通常建議是false,而會有影響的情形是目標元素(target element)有祖先元素(ancestor element),而且也有同樣的事件對應函數(shù),我想,看圖會比較清楚。

范例有兩層的div方塊

像這張圖所顯示的,我的范例有兩層div元素,而且都設定有click事件,一般來說,如果我在內(nèi)層藍色的元素上click不只會觸發(fā)藍色元素的click事件,還會同時觸發(fā)紅色元素的click事件,而useCapture這個參數(shù)就是在控制這時候兩個click事件的先后順序。如果是false,那就會使用bubbling,他是從內(nèi)而外的流程,所以會先執(zhí)行藍色元素的click事件再執(zhí)行紅色元素的click事件,如果是true,那就是capture,和bubbling相反是由外而內(nèi),會先執(zhí)行紅色元素的click事件才執(zhí)行藍色元素的click事件。附上兩個范例,capture和bubbling,兩個檔案只有差在此一參數(shù)不同,可以發(fā)現(xiàn)事件的發(fā)生順序不一樣了。

那如果不同層的元素使用的useCapture不同呢?就是會先從最外層元素往目標元素尋找設定為capture的事件,到達目標元素執(zhí)行目標元素的事件后,再尋原路往外尋找設定為bubbling的事件。

相關文章

  • JS實現(xiàn)隨機點名器

    JS實現(xiàn)隨機點名器

    這篇文章主要為大家詳細介紹了JS實現(xiàn)隨機點名器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • JS實現(xiàn)星星評分功能實例代碼(兩種方法)

    JS實現(xiàn)星星評分功能實例代碼(兩種方法)

    這篇文章主要介紹了JS實現(xiàn)星星評分功能實例代碼(兩種方法)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • JS與jQuery遍歷Table所有單元格內(nèi)容的方法

    JS與jQuery遍歷Table所有單元格內(nèi)容的方法

    這篇文章主要介紹了JS與jQuery遍歷Table所有單元格內(nèi)容的方法,結(jié)合實例形式分別描述了JavaScript與jQuery實現(xiàn)遍歷table單元格的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-12-12
  • JavaScript制作windows經(jīng)典掃雷小游戲

    JavaScript制作windows經(jīng)典掃雷小游戲

    掃雷是一款相當大眾的小游戲,游戲目標是在最短的時間內(nèi)根據(jù)點擊格子出現(xiàn)的數(shù)字找出所有非雷格子,同時避免踩雷。今天我們來看看如何使用javascript來實現(xiàn)這款小游戲
    2015-03-03
  • 微信小程序如何調(diào)用json數(shù)據(jù)接口并解析

    微信小程序如何調(diào)用json數(shù)據(jù)接口并解析

    這篇文章主要介紹了微信小程序如何調(diào)用json數(shù)據(jù)接口并解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06
  • JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞)

    JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞)

    這篇文章主要介紹了JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞),需要的朋友可以參考下
    2023-05-05
  • JS彈出窗口的運用與技巧大全

    JS彈出窗口的運用與技巧大全

    本篇文章主要介紹了JS彈出窗口的運用與技巧大全,詳解介紹了幾種利用網(wǎng)頁彈出各種形式的窗口,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • JavaScript設計模式之單例模式原理與用法實例分析

    JavaScript設計模式之單例模式原理與用法實例分析

    這篇文章主要介紹了JavaScript設計模式之單例模式原理與用法,結(jié)合實例形式分析了單例模式的原理、命名空間的使用、閉包、惰性單例形式以及單例模式的基本應用,需要的朋友可以參考下
    2018-07-07
  • LayUI動態(tài)設置checkbox不顯示的解決方法

    LayUI動態(tài)設置checkbox不顯示的解決方法

    今天小編就為大家分享一篇LayUI動態(tài)設置checkbox不顯示的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JavaScript中數(shù)組reduce()方法使用詳情

    JavaScript中數(shù)組reduce()方法使用詳情

    這篇文章主要介紹了JavaScript中數(shù)組reduce()方法使用詳情,reduce()對數(shù)組中的每個元素進行累加,返回一個新的值,可以傳入初始值,更多相關內(nèi)容需要的小伙伴可以參考一下下面文章介紹
    2022-09-09

最新評論

驻马店市| 多伦县| 乌鲁木齐市| 犍为县| 柞水县| 全椒县| 天峨县| 五河县| 建阳市| 阿拉善右旗| 霸州市| 益阳市| 教育| 成安县| 沙坪坝区| 东方市| 台东市| 南京市| 电白县| 东阳市| 内江市| 简阳市| 平顶山市| 安仁县| 怀集县| 西和县| 蓝山县| 常宁市| 昭通市| 剑阁县| 咸阳市| 象山县| 弥勒县| 昂仁县| 大庆市| 甘孜县| 襄垣县| 磐安县| 玉环县| 民权县| 瑞昌市|