使用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,但是您可以使用命名空间绑定和解除绑定,从而保持工作空间的有序性。