jQuery 名稱空間

admin發表於2017-02-18

一.基本概念:

名稱空間用來規定識別符號的可見範圍,也就是說相同名稱的識別符號在不同的名稱空間不會衝突。

舉個通俗的例子,在一個班級中,有兩個人叫"張三",會引起混亂,如果這兩個人分別在不同的班級,就不會出現此問題,那麼就可以將班級看做名稱空間。

二.程式碼分析:

[JavaScript] 純文字檢視 複製程式碼
$("#ele") 
.on("click",oneFunc) 
.on("click",twoFunc);

為指定元素註冊兩個click事件處理函式。

[JavaScript] 純文字檢視 複製程式碼
$("#ele").off("click");

使用off()方法解綁事件處理函式。

上面方式有個缺點,那就是將全部click事件處理函式解綁,有時候我們只想解綁其中的一個。

[JavaScript] 純文字檢視 複製程式碼
$("#ele").off("click",oneFunc);

off()通過第二個引數,指定要解綁的處理函式即可。

但是有時候繫結的事件處理函式是匿名的,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
$("#ele").on("click",function() {   
  console.log('螞蟻部落'); 
})

這個時候我們可以使用名稱空間來進行處理,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
$("#ele").on("click.myNamespace",function() { 
  console.log('螞蟻部落'); 
})

使用名稱空間的方式很簡單,就是前面是事件型別,中間一個點(.),後面是自定義名稱空間名稱。

移除上面的事件處理函式:

[JavaScript] 純文字檢視 複製程式碼
$("#ele").off('click.myNamespace');

相關文章