javascript - 請教 jquery 中 trigger('click') 和 click() 的差異與優劣。
为情所困
为情所困 2017-06-26 10:58:52
0
3
923
$('#btn').trigger('click');
$('#btn').click();

求教這兩種 click 事件的觸發方式選擇哪一個比較優?

为情所困
为情所困

全部回覆(3)
phpcn_u1582

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() 主要用來觸發自訂事件

$( "#foo" ).on( "custom", function( event, param1, param2 ) {
  alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );

@Dont 貼出了 jquery 原始碼, 其實 .click() 也是直接呼叫 .trigger() 方法,所以效能上應該是一樣的。

曾经蜡笔没有小新

就像jQuery.post()和jQuery.ajax()哪個比較優? ?

明明可以猜post肯定是呼叫了ajax, 那就用ajax? 就因為少了一次函數呼叫?然後多打好些字?浪費時間?

沒有什麼優不優的,你要想想別的方面, 簡潔,易懂也很重要。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板