如果您希望取消绑定或触发它,则命名事件允许您定位特定事件。
想象一下,您有两个相同类型的事件绑定到相同的元素。
$('.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')
。]