4

什么是.div 点击这里??

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

有人问我这个问题,我没有答案。它是事件类型还是命名空间?

4

3 回答 3

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');
于 2013-02-14T06:29:54.567 回答
4

它是命名空间。如果 eventType 字符串包含句点 (.) 字符,则事件是命名空间的。句点字符将事件与其命名空间分开。例如调用.bind('click.name', handler),字符串click为事件类型,字符串name为命名空间。命名空间允许我们解除绑定或触发某种类型的某些事件,而不会影响其他事件。有关更多信息,请参阅 .unbind() 的讨论。

于 2013-03-19T09:06:05.860 回答
1

这似乎是一个自定义事件。

你可以这样称呼它

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

请参阅文档:jQuery.bind()文档

于 2013-02-14T06:25:15.430 回答