如何从同一对象的方法内的click事件调用对象属性

时间:2015-09-28 06:03:02

标签: javascript

在一个对象中,如何从methodA someElement单击调用propertyA而不重写容器对象的名称。谢谢。 (对不起我的英语很差)。

var testObject = testObject || {
  propertyA: true,

  methodA: function(){
    $('someElement').on('click', function(event){
        testObject.propertyA = false; //here, how can i call propertyA without rewrite testObject, i want something generic    
    });
  }
}

2 个答案:

答案 0 :(得分:4)

您可以定义一个存储当前引用的变量,例如self

var testObject = testObject || {

    propertyA: true,

    methodA: function(){
        var self = this;
        $('someElement').on('click', function(event){
            self.propertyA = false;     
        });
    }
}

答案 1 :(得分:3)

一种解决方案是在调用methodA时设置对象的对象引用,并在处理程序中使用它来引用对象。

var testObject = testObject || {
    propertyA: true,
    methodA: function () {
        var self = this;
        $('someElement').on('click', function (event) {
            self.propertyA = false;
        });
    }
}