今天是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一无所知,我想要了解它。
答案 0 :(得分:2)
这就是jQuery的设计方式,所有事件都是如此。要为使用e.blur(function(){...})
的元素添加处理程序,并触发事件,请使用e.blur()
。这有点意义,你只需要习惯它。
答案 1 :(得分:1)
绝对不是设计错误,因为它适用于多个事件,例如click
,但您应该使用.trigger('blur')
这是有道理的,因为.blur()
或.click()
本质上会调用附加到特定事件的事件处理程序,并且所有.blur(fn)
都会将其绑定到.bind('event')
后面的它注册事件处理程序的场景。