84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
$('#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? 就因为少了一次函数调用?然后多打好些字?浪费时间?
没有什么优不优的,你要想想别的方面, 简洁,易懂也很重要。