首页 > 解决方案 > 将对象引用传递给 jQuery 回调

问题描述

(版主注意:我已经阅读并理解了这个优秀的线程:“this”关键字是如何工作的?它与这个问题无关)

没有发现混合 jQuery 和 OOP以将上下文传递给 jQuery 回调的类似案例。

我在上面定义了一个名为MySlider的类和一个名为registerListener的方法,但是我无法从 jQuery 回调中获取对MySlider对象的引用。

任何想法?

MySlider.prototype.registerListeners = function () {
    var hello = this;
    $('#sl').slider({
        slide: function (event, ui) {
            console.log(event + " " + ui);

            // how to access 'hello' from here ?
        }
    }) ;
};

提前致谢。

标签: javascriptjquery

解决方案


只需访问它!您已经创建了一个闭包,其中定义在外部函数中的变量可以从内部函数访问。

变量的一种副本与函数对象一起存储。如果您var hello = "tricked you!"在定义函数之后执行此操作,则hello内​​部函数中 found 的值将更新以匹配。


推荐阅读