javascript - 在 jquery 代码块中使用时出现 'this' 问题

标签 javascript jquery oop dom

我想在 jquery 代码块中使用调用对象的值,但是“this”映射到 jquery 对象而不是调用者!请问如何解决这个问题?

// class
myClass = function (){
    // member object
    this._localVars = {
        _elementClass:'.elem-class',
        _dots:null,
        _dotStatus:null
    };

    // member function
    this.func1 = function() {
        $(this._elementClass).each(function(_index, _element){
            // this._localVars._dots[_index] = _element; ... this line throws an error 'this._localVars' is undefined ... as 'this' is html element here and not an object of the calling class
        });
    };
};

请建议我如何在 jquery 代码块中使用“this”来引用类的变量/对象而不是 HTML/jQuery。

谢谢

最佳答案

尝试将this 对象保存到局部变量中

    var myObject = this;
    $(this._elementClass).each(function(_index, _element){
        myObject._localVars._dots[_index] = _element;
    });

关于javascript - 在 jquery 代码块中使用时出现 'this' 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3953619/

相关文章:

javascript - Crockford "new"方法

javascript - 如何为人们创建 "widget"?这只是一个带有我的 Logo 的简单文本框

php - Postgresql查询返回引号之间的字符串值“如果它包含任何空格字符,或者如果它没有空格字符则不带引号

c# - 从父类调用重写的虚方法

javascript - 在 Backbone.js 的模型和 View 上设置属性的模式是什么?

php - 对集合中的对象进行排序和分组

javascript - 使用反斜杠转义双引号

javascript - 如何在 photoshop 事件后更改 html 元素?

jquery - 是什么导致了 jQuery 本身内部随机出现的错误?

jquery - 停止iframe YouTube视频