2013-02-14 56 views
4

什麼是.div點擊這裏?什麼是.div點擊這裏?

$("div#div1").bind("click.divClick",function(){alert("Div Clicked");}) 

有人問我這個問題,我沒有答案。它是事件類型還是命名空間?

+0

div的分類名稱 – 2013-02-14 06:21:55

回答

4

它的命名空間。如果eventType字符串包含句點(。)字符,則該事件爲名稱空間。句點字符將事件與其名稱空間分開。例如,在調用.bind('click.name',處理程序)中,字符串click是事件類型,字符串名稱是命名空間。命名空間允許我們解除或觸發某種類型的事件而不影響其他事件。有關更多信息,請參閱.unbind()的討論。

+1

是的確切謝謝。 – 2013-03-19 09:08:16

1

這似乎是一個自定義事件。

你可以這樣調用它

$('mySelector').trigger("click.divClick"); 

請參閱文檔:jQuery .bind() Documentation

+0

api.jquery.com/bind/ – Moons 2013-02-14 06:25:37

8

jQuery的事件可以這樣寫:

<event-type>[.<event-namespace>] 

在你的情況,click.divClick只是一個click事件,但它在divClick命名空間中組織。使用名稱空間的

一個優點是,當您需要解除綁定事件偵聽器:

$(el).bind('click', function() { alert('click 1'); }; 
$(el).bind('click.divClick', function() { alert('click 2'); }; 

$(el).unbind('click.divClick'); 

最後一行將註銷只有click 2事件處理程序,而不會影響click 1事件處理程序。

您也可以註銷所有的事件從一個命名空間:

$(el).unbind('.divClick'); 
+1

優秀的+1這個美妙的解釋 – Moons 2013-02-14 06:33:38