命名空間事件允許您針對特定事件,如果您希望解除綁定或觸發它。
想象一下,你有一個綁定到相同的元素(S)的兩個同類事件。
$('.something').on('click', function() { /* do something */ });
$('.something').on('click', function() { /* do something else */ });
由於我們沒有命名空間無論哪種情況,現在很難解除綁定或觸發一個而不是其他。現在考慮:
$('.something').on('click.one', function() { /* do something */ });
$('.something').on('click.two', function() { /* do something else */ });
因爲這個時候每個事件都有自己的命名空間,我們現在可以觸發或者解除綁定一個或另一個,留下其他不變。
$('.something').off('click.one'); //unbind the 'one' click event
$('.something').trigger('click.two'); //simulate the 'two' click event
[編輯 - 如@jfrej右下方指出,命名空間意味着你有時甚至不需要引用事件類型名稱。所以,如果你有一個鼠標懸停和點擊一個單一命名空間的事件上,則您可以用off('.namespace')
既解除綁定]
+1讓我很好奇也。 – 2012-07-09 11:05:43
你好艾米特我希望你是不是在談論下拉插件,其中第一個是標準的'.on'事件的http://stackoverflow.com/questions/11208483/get-error-in-event-handler-for-undefined -un-defined-in-chrome-and-dropdown -d soimething like this這個問題有一個代碼':)' – 2012-07-09 11:10:56