javascript - 如何在 Javascript 中访问事件内部的成员变量

标签 javascript jquery

我有以下 JavaScript:

var testObj = function() {
    this.test1 = "123";
}


testObj.prototype = {
    myFunc: function() {
        var input = $('<input type=button value="clickme" />');
        $('body').append(input);
        input.click(function () {
            alert(this.test1);
        });
    }
}

$(document).ready( function() {
    var t = new testObj();
    t.myFunc();
});

我知道为什么 alert 语句显示未定义,但如何让它显示 test1 变量的实际值。

jsFiddle有示例代码。

最佳答案

你可以这样做

http://jsfiddle.net/33Mtu/7/

myFunc: function() {
    var self = this;
    var input = $('<input type=button value="clickme" />');
    $('body').append(input);
    input.click(function () {
        alert(self.test1);
    });
},

当您在点击函数中说this时,this指的是被点击的项目。我将 self 设置为 this,这样您就可以在点击函数中安全地使用 self

关于javascript - 如何在 Javascript 中访问事件内部的成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22813040/

相关文章:

javascript - 跨浏览器javascript函数查找页面中元素的实际位置

javascript - 如何使用AutoForm注册用户并登录?

javascript - jQuery 星级评分插件变量未正确返回

jquery - 在 jQuery `this` 事件处理程序的数据参数中访问 `on`

Jquery validate 使用特殊字符验证插件编号

jquery - Highcharts 不适合 Bootstrap 3 模态主体

Javascript - 更改对象数据源

javascript - 如何将div定位在动态ul下面

jquery - 结合jQuery UI的盲动和滑动动画方法

Jquery 事件未定义 - 甚至获取被单击元素的属性