访问;这";从其他函数中键入JavaScript变量

访问;这";从其他函数中键入JavaScript变量,javascript,jquery,this,member-variables,Javascript,Jquery,This,Member Variables,我有一个事件触发,即使它在我试图访问变量的函数内部,我也会得到uncaughttypeerror:无法读取未定义的的属性“…”。那么,让我们说: (函数($){ $.fn.main=函数(){ 此参数设置=1; $(“#someElement”).scroll(函数(){ 调试(此设置); } ); } })(jQuery); 我肯定这和时间有关,但我可能又错了。我是否应该复制此并将其公开?任何人谢谢。此的值不能固定在闭包中,因为此动态获取其值 尝试: 和引用self。此的值不能固定在闭包中,

我有一个事件触发,即使它在我试图访问变量的函数内部,我也会得到
uncaughttypeerror:无法读取未定义的
的属性“…”。那么,让我们说:

(函数($){
$.fn.main=函数(){
此参数设置=1;
$(“#someElement”).scroll(函数(){
调试(此设置);
} );
}
})(jQuery);

我肯定这和时间有关,但我可能又错了。我是否应该复制此并将其公开?任何人谢谢。

此的值不能固定在闭包中,因为此动态获取其值

尝试:


和引用self。

此的值不能固定在闭包中,因为此动态获取其值

尝试:


并引用self。

只需将此复制到另一个变量即可

( function($) {

    $.fn.main = function() {

        this.setting = 1;
        var that = this;
        $("#someElement").scroll( function() {

            console.debug(that.setting);

        } );

    }

} )(jQuery);

只需将此复制到另一个变量

( function($) {

    $.fn.main = function() {

        this.setting = 1;
        var that = this;
        $("#someElement").scroll( function() {

            console.debug(that.setting);

        } );

    }

} )(jQuery);
如果要使用
$.fn.main
中的
this
,可以存储变量。以下将起作用:

( function($) {

    $.fn.main = function() {

        var that = this

        that.setting = 1; // "this.setting" would also work

        $("#someElement").scroll( function() {

            console.debug(that.setting); // You need to reference to the other "this"

        } );

    }

} )(jQuery);
如果要使用
$.fn.main
中的
this
,可以存储变量。以下将起作用:

( function($) {

    $.fn.main = function() {

        var that = this

        that.setting = 1; // "this.setting" would also work

        $("#someElement").scroll( function() {

            console.debug(that.setting); // You need to reference to the other "this"

        } );

    }

} )(jQuery);

滚动方法中的
指的是滚动方法。在id为“someElement”的元素的滚动事件上,该方法被绑定调用。绑定对象的作用域丢失。

滚动方法中的
指的是滚动方法。在id为“someElement”的元素的滚动事件上,该方法被绑定调用。绑定对象的作用域丢失了。

我喜欢你的简单,尽管你们都做对了。谢谢当然是我想的。我喜欢你的简单,尽管你们都做对了。谢谢绝对是我想的。