2

これは正しいやり方ですか?また、ここでは_thisthisを介してコンテキストを渡していますが、それを行うより良い方法はありますか

var messages = {
    getLoadMore : function(_this){
        ...............
    },

    getSwappingData : function(_this){
        .................
    },
}

jQuery('.js-message-swap').live('click', function(){
    _this = jQuery(this);
    messages.getSwappingData(_this);
    return false;
});
4

2 に答える 2

1

あなたが持っているものはうまくいきます。より短いバージョンは、関数の参照をハンドラーに渡すことです。これは、外部関数clickに適用されます。thisこれを試して:

var messages = {
    getLoadMore : function() {
        var $el = $(this);
        return false;
    },

    getSwappingData : function() {
        var $el = $(this);
        return false;
    }
}

jQuery('.js-message-swap').live('click', messages.getSwappingData);
于 2012-11-01T09:58:51.533 に答える
0

それを行う唯一の他の方法は、変数の代わりに引数として関数に渡すことです。

var messages = {
    getLoadMore : function(_this){
        ...............
    },

    getSwappingData : function(_this){
        .................
    },
}

jQuery('.js-message-swap').live('click', function(){
    // Remove this _this = jQuery(this);
    messages.getSwappingData(jQuery(this));
    return false;
});
于 2012-11-01T09:57:45.987 に答える