javascript - 在 jquery 中传递 "this"上下文

标签 javascript jquery

这是正确的做事方式吗?同样在这里,我通过 _this 传递 this 上下文有没有更好的方法来做这件事

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

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

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

最佳答案

你所拥有的会很好用。一个较短的版本是将函数的引用传递给 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);

关于javascript - 在 jquery 中传递 "this"上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13174544/

相关文章:

javascript - getElementsByTagName 是否返回所有子节点?

jquery - li 标签中的垂直居中链接是父 ul 高度的 11.11%

javascript - 如何在javascript中选择未选定的文本和选定的文本?

javascript - 为什么 JavaScript `Intl.Collator.prototype.compare()` 方法会产生与特殊字符的传统 UTF-16 比较不同的结果?

javascript - React 中的 "Forgiving"表达式

javascript - inputVal 上的 Math.pow()

PHP Echo 将 HTML 转换为文本

javascript - 为什么有这么多 jquery ajax 文件?

jQuery:检查字符是否在字符串中

javascript - 计算Jquery中元素的数量