使用jquery Bind方法,这是我以前从未见过的

试着熟悉jQuery,我遇到了一些我无法理解的示例代码。 它指的是绑定方法及其使用方式。 这里是

$('textControl').bind(($.browser.opera ? 'keypress', 'keydown') + '.autocomplete', function(event) { code...}); 

我理解选择按键或keydown,但我不明白为什么他们在偶数处理程序名称上附加.autocomplete?

如果有人能够发出一些很棒的光

谢谢

这是jQuery的一个名为Namespaced Evenets的function,它经常在插件中使用,因为它允许一个简单快捷的方式让插件只能操纵它自己的事件。

让我一步一步解释。

 $('textControl').bind( 

绑定到textControl

 ($.browser.opera ? 'keypress', 'keydown') 

如果浏览器是opera,则返回keypress的三级表达式,否则返回keydown。

 '.autocomplete' 

自动完成是jQuery插件添加到keypress事件对象的自定义事件。 所以基本上他们只是将它分组以使其更有条理,但它是一个自定义命名空间事件。

实际上,事件附加到keypress / keydown,但是您可以使用命名空间绑定和解除绑定,从而保持工作空间的有序性。