javascript - 請教 jquery 中 trigger(’click’) 和 click() 的區別與優劣。
問題描述
$(’#btn’).trigger(’click’);
$(’#btn’).click();
求教這兩種 click 事件的觸發方式選擇哪種更優?
問題解答
回答1: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 的想法不同- -
回答2:trigger() 主要用來觸發自定義事件
$( '#foo' ).on( 'custom', function( event, param1, param2 ) { alert( param1 + 'n' + param2 );});$( '#foo').trigger( 'custom', [ 'Custom', 'Event' ] );
@Dont 貼出了 jquery 源碼, 其實 .click() 也是直接調用 .trigger() 方法,所以性能上應該是一樣的。
回答3:就像jQuery.post()和jQuery.ajax()哪個更優??
明明可以猜到post肯定是調用了ajax, 那就用ajax? 就因為少了一次函數調用?然后多打好些字?浪費時間?
沒有什么優不優的,你要想想別的方面, 簡潔,易懂也很重要。
相關文章:
1. javascript - 我是做web前端的,公司最近有一個項目關于數據統計的!2. html5和Flash對抗是什么情況?3. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)4. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。5. javascript - 在ie下為什么會出現這種情況呢 《 無法獲取未定義或 null 引用的屬性“length”》 ?請大神指教。6. css右浮動字的順序顛倒了7. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?8. javascript - vuejs+elementui 購物車價格計算,點擊加減號修改數量總價都不會改變,但是計算執行了9. javascript - vue過渡效果 css過渡 類名的先后順序10. javascript - 如何使用loadash對[object,object,object]形式的數組進行比較
