jQuery设计错误还是历史原因?

时间:2009-11-16 09:56:53

标签: javascript jquery

今天是jQuery日。我在文档中找到了这个:

blur()   Returns: jQuery Triggers the blur event of each matched element.  
blur(fn) Returns: jQuery Bind a function to the blur event of each matched 
                  element.

换句话说,函数的行为完全不同,这取决于它是否接受参数。

这是设计错误还是有历史原因?

请记住,我对javascript和jQuery一无所知,我想要了解它。

2 个答案:

答案 0 :(得分:2)

这就是jQuery的设计方式,所有事件都是如此。要为使用e.blur(function(){...})的元素添加处理程序,并触发事件,请使用e.blur()。这有点意义,你只需要习惯它。

答案 1 :(得分:1)

绝对不是设计错误,因为它适用于多个事件,例如click,但您应该使用.trigger('blur')

这是有道理的,因为.blur().click()本质上会调用附加到特定事件的事件处理程序,并且所有.blur(fn)都会将其绑定到.bind('event')后面的它注册事件处理程序的场景。