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

时间:2009-05-26 16:22:21

标签: jquery

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

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

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

如果有人可以放弃一些很棒的光线

由于

2 个答案:

答案 0 :(得分:11)

让我一步一步解释。

$('textControl').bind(

绑定到textControl

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

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

'.autocomplete'

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

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

答案 1 :(得分:5)

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