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

實例講解jQuery中對事件的命名空間的運用

 更新時間:2016年05月24日 14:51:29   作者:哈哈胡子  
jQuery支持帶命名空間的事件,這樣就可以方便地對同一事件使用不同的監(jiān)聽器并進行管理,接下來我們就以實例講解jQuery中對事件的命名空間的運用

用 jQuery 綁定和解綁事件監(jiān)聽器都是非常簡單的。但是當你為一個元素的一個事件綁定了多個監(jiān)聽器時,怎樣精確地解綁其中一個監(jiān)聽器?我們需要了解一下事件的命名空間。

看下面這段代碼:

$(“#element”)
  .on(“click”, doSomething)
  .on(“click”, doSomethingElse);

像上面這樣綁定事件監(jiān)聽器,當元素被點擊時,doSomething 和 doSomethingElse 這兩個監(jiān)聽器都會被觸發(fā)。這是使用 jQuery 的一個便利之處,可以隨時給元素的同一個事件添加不同的監(jiān)聽器。不像用 onclick 那樣,新的監(jiān)聽器會覆蓋舊的。

如果你想解綁其中一個監(jiān)聽器,比如 doSomething,怎么做呢?

是這樣嗎?

$(“#element”).off(“click”);

注意!上面這行代碼會把元素的 click 事件的所有監(jiān)聽器全部解綁,而這并不是我們要的結(jié)果。

幸運的是 jQuery 的 .off() 方法可以接受第二個參數(shù),就像 .on() 一樣。只要把監(jiān)聽器函數(shù)的名字作為第二個參數(shù)傳入 .off() 方法,就能夠解綁指定的監(jiān)聽器。

$(“#element”).off(“click”, doSomething);

但是如果你不知道這個函數(shù)的名字,或者你用的是匿名函數(shù):

$(“#element”)
  .on(“click”, function() {
    console.log(“doSomething”);
  });

怎樣才能精確地解綁某一個 click 事件監(jiān)聽器呢?該了解一下 jQuery 的事件命名空間了!

先上代碼:

$(“#element”)
  .on(“click.myNamespace”, function() {
    console.log(“doSomething”);
  });

這里不只是把 click 事件作為參數(shù)傳入 .on() 方法,而是給 click 事件指定了一個命名空間,然后監(jiān)聽了這個命名空間里的 click 事件。此時,即使監(jiān)聽器是匿名函數(shù),實際上它也是“有名”的了?,F(xiàn)在你可以像下面這樣解綁某一個具體的命名空間里的事件監(jiān)聽器了。

$(“#element”).off(“click.myNamespace”);

這是 jQuery 為我們提供的又一個方便而強大的功能,它的內(nèi)部實現(xiàn)肯定很有意思!

我們再來看一些代碼:

$(“#haorooms”).on("click.a",function(){});
$(“#haorooms”).on("click.a.bb",function(){});
$(“#haorooms”).on("dbclick.a",function(){});
$(“#haorooms”).on("mouseover.a",function(){});
$(“#haorooms”).on("mouseout.a",function(){});

當然,我們也可以用bind進行事件綁定。我們看到上面的代碼,我們可以在事件后面,以點號,加我們的名字,就是事件命名空間。所謂事件命名空間,就是事件類型后面以點語法附加一個別名,以便引用事件,如”click.a”,其中”a”就是click當前事件類型的別名,即事件命名空間。

假如我們要刪除如下命名空間:

$(“#haorooms”).on("click.a.bb",function(){});

我們可以用:

$(“#haorooms”).off("click.a.bb");//直接刪除bb命名空間 【推薦】
$(“#haorooms”).off(".bb"); //直接刪除bb命名空間 【推薦】
$(“#haorooms”).off(".a"); //刪除.a命名空間下面所有的子空間【包括.a.bb  .a.cc等等,.a是.bb的父級,因此.a下面的都會刪掉】
$(“#haorooms”).off("click");//直接解綁click,下面的命名空間都會刪除。

要注意的是:

假如我們寫了如下代碼:

$(“#haorooms”).on("click",function(){});
$(“#haorooms”).on("click.a",function(){});
$(“#haorooms”).on("click.a.bb",function(){});

那么我們要用trigger觸發(fā)click事件,也就是觸發(fā)第一個,豈不是把click.a和click.a.bb都觸發(fā)了,那如何解決這個問題呢,我只想觸發(fā)click,而不觸發(fā)click.a及以下的命名空間?

沒關(guān)系! 有如下解決辦法:

如果事件類型后面附加感嘆號,則表示觸發(fā)不包含命名空間的特定事件類型。

假如我們只想觸發(fā)click,可以這么寫:

$(“#haorooms”).trigger("click!")

只觸發(fā)bb,可以這么寫:

$(“#haorooms”).trigger("click.a.bb");

有了命名空間,可以方便我們在同一個事件上面做管理啦?。?!

相關(guān)文章

  • jQuery實現(xiàn)打開頁面漸現(xiàn)效果示例

    jQuery實現(xiàn)打開頁面漸現(xiàn)效果示例

    這篇文章主要介紹了jQuery實現(xiàn)打開頁面漸現(xiàn)效果的方法,結(jié)合實例形式分析了jQuery樣式操作及頁面元素的漸變效果實現(xiàn)技巧,需要的朋友可以參考下
    2016-07-07
  • JQuery 將元素顯示在屏幕的中央的代碼

    JQuery 將元素顯示在屏幕的中央的代碼

    在網(wǎng)站開發(fā)中我們經(jīng)常需要將對話框顯示在屏幕的中央。如果使用Javascript因為瀏覽器實現(xiàn)的差異,實現(xiàn)起來非常麻煩。但是JQuery可以很簡單實現(xiàn)的搞定這一切。
    2010-02-02
  • jquery tab插件制作實現(xiàn)代碼

    jquery tab插件制作實現(xiàn)代碼

    jquery插件豐富,很多都是很好用的,最近學習了一下如何制作jquery插件,發(fā)現(xiàn)jquery插件制作其實很簡單,這里介紹一下。
    2010-06-06
  • jquery實現(xiàn)郵箱自動補全功能示例分享

    jquery實現(xiàn)郵箱自動補全功能示例分享

    這篇文章主要介紹了jquery實現(xiàn)郵箱自動補全功能,大家參考使用吧
    2014-02-02
  • jQuery學習筆記之回調(diào)函數(shù)

    jQuery學習筆記之回調(diào)函數(shù)

    回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù).這篇文章主要介紹了jQuery學習筆記之回調(diào)函數(shù)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 基于jQuery實現(xiàn)的向下滑動二級菜單效果代碼

    基于jQuery實現(xiàn)的向下滑動二級菜單效果代碼

    這篇文章主要介紹了基于jQuery實現(xiàn)的向下滑動二級菜單效果代碼,通過jquery鼠標事件控制針對頁面元素的鏈式操作實現(xiàn)菜單切換的功能,非常簡單實用,需要的朋友可以參考下
    2015-08-08
  • jquery 鼠標滑動顯示詳情應用示例

    jquery 鼠標滑動顯示詳情應用示例

    本文示例要為大家實現(xiàn)的效果是鼠標滑動,顯示詳情,代碼很簡潔,很適合學習
    2014-01-01
  • jquery計算鼠標和指定元素之間距離的方法

    jquery計算鼠標和指定元素之間距離的方法

    這篇文章主要介紹了jquery計算鼠標和指定元素之間距離的方法,涉及jQuery針對頁面位置屬性與鼠標事件的相關(guān)操作技巧,需要的朋友可以參考下
    2015-06-06
  • jQuery實現(xiàn)查看圖片功能

    jQuery實現(xiàn)查看圖片功能

    這篇文章主要為大家詳細介紹了jQuery實現(xiàn)查看圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • jQuery實現(xiàn)合并表格單元格中相同行操作示例

    jQuery實現(xiàn)合并表格單元格中相同行操作示例

    這篇文章主要介紹了jQuery實現(xiàn)合并表格單元格中相同行操作,結(jié)合實例形式分析了jQuery針對table表格實現(xiàn)單元格合并的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01

最新評論

民乐县| 韩城市| 南召县| 怀安县| 武邑县| 进贤县| 宝鸡市| 英德市| 新龙县| 开江县| 呼图壁县| 连山| 固安县| 铁岭县| 道孚县| 丹凤县| 神池县| 巫溪县| 保康县| 犍为县| 阳西县| 黎川县| 澜沧| 富蕴县| 温宿县| 论坛| 汕尾市| 台湾省| 喀什市| 新宁县| 五大连池市| 赣榆县| 鲁山县| 东乌珠穆沁旗| 雷山县| 建始县| 沁水县| 晋宁县| 左云县| 凤城市| 桃源县|