jQuery触发器('click')和click()之间有什么区别

jQuery触发器('click')和click()之间有什么区别

问题描述:

我在寻找这两者之间的性能差异,在SSE中我找不到有关此主题的良好答案。jQuery触发器('click')和click()之间有什么区别

一些例子会有很大的帮助。

+0

没有任何。一个叫另一个。 – Blazemonger 2012-04-19 14:15:07

如果你看一下jQuery的代码,你可以看到,所有click()所做的是执行trigger('click')

jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick " + 
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 
"change select submit keydown keypress keyup error contextmenu").split(" "), function(i, name) { 

// Handle event binding 
jQuery.fn[ name ] = function(data, fn) { 
    if (fn == null) { 
     fn = data; 
     data = null; 
    } 

    return arguments.length > 0 ? 
     this.on(name, null, data, fn) : 
     this.trigger(name); 
}; 

注意这一点:

return arguments.length > 0 ? 
     this.on(name, null, data, fn) : 
     this.trigger(name); 

换句话说,“如果没有参数传递给click,执行trigger('click')“。

+1

可能值得一提的是,这是jQuery源代码中的标准操作过程,或者是任何正常的应用程序 - 如果您想要相同的结果,请调用相同的代码。一方和另一方之间的表现差异总是微不足道的。 – Blazemonger 2012-04-19 14:18:08