$('#btn').trigger('click');
$('#btn').click();
Welche dieser beiden Methoden zum Auslösen von Klickereignissen ist besser?
jquery2的源码
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 ) { return arguments.length > 0 ? this.on( name, null, data, fn ) : this.trigger( name ); }; });
看起来,$对象的click执行事件实现也是调用trigger……所以trigger更优?= =||跟 @MockingBird 的想法不同- -
trigger() 主要用来触发自定义事件
trigger()
$( "#foo" ).on( "custom", function( event, param1, param2 ) { alert( param1 + "\n" + param2 ); }); $( "#foo").trigger( "custom", [ "Custom", "Event" ] );
@Dont 贴出了 jquery 源码, 其实 .click() 也是直接调用 .trigger() 方法,所以性能上应该是一样的。
.click()
.trigger()
就像jQuery.post()和jQuery.ajax()哪个更优??
明明可以猜到post肯定是调用了ajax, 那就用ajax? 就因为少了一次函数调用?然后多打好些字?浪费时间?
没有什么优不优的,你要想想别的方面, 简洁,易懂也很重要。
jquery2的源码
看起来,$对象的click执行事件实现也是调用trigger……所以trigger更优?= =||跟 @MockingBird 的想法不同- -
trigger()
主要用来触发自定义事件@Dont 贴出了 jquery 源码, 其实
.click()
也是直接调用.trigger()
方法,所以性能上应该是一样的。就像jQuery.post()和jQuery.ajax()哪个更优??
明明可以猜到post肯定是调用了ajax, 那就用ajax? 就因为少了一次函数调用?然后多打好些字?浪费时间?
没有什么优不优的,你要想想别的方面, 简洁,易懂也很重要。