Heim > Fragen und Antworten > Hauptteil
$('#btn').trigger('click');
$('#btn').click();
Welche dieser beiden Methoden zum Auslösen von Klickereignissen ist besser?
phpcn_u15822017-06-26 11:00:52
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 的想法不同- -
女神的闺蜜爱上我2017-06-26 11:00:52
trigger()
主要用来触发自定义事件
$( "#foo" ).on( "custom", function( event, param1, param2 ) {
alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );
@Dont 贴出了 jquery 源码, 其实 .click()
也是直接调用 .trigger()
方法,所以性能上应该是一样的。
曾经蜡笔没有小新2017-06-26 11:00:52
就像jQuery.post()和jQuery.ajax()哪个更优??
明明可以猜到post肯定是调用了ajax, 那就用ajax? 就因为少了一次函数调用?然后多打好些字?浪费时间?
没有什么优不优的,你要想想别的方面, 简洁,易懂也很重要。