从内部自我对象javascript调用的公共方法?

时间:2012-05-24 16:17:26

标签: javascript jquery

有没有办法从jquery按钮单击配置在同一个对象内调用公共方法?下面我向您展示了我尝试过的多种方式

var myClass = new MyClass();

function MyClass() {
   this.func1 = function () {
      alert("Hello World");
   }

   var me = this;    
   $("#my-button").click(function(){
      //func1(); //dont work (wold like)
      //this.func1(); //dont work (would like)
      me.func1();   //Work! but is not correct way to do it
      myClass.func1(); //Work! but the idea its that recognize itself widthout call public   instance
  });
}

其他方法吗??

3 个答案:

答案 0 :(得分:2)

me.func1()实际上是正确的方法,虽然我认为惯例是将其命名为“self”而不是“me”。

答案 1 :(得分:1)

试试这个:

var myClass = new MyClass();

function MyClass() {
   var myFunc = function () {
      alert("Hello World");
   }
   this.func1 = myFunc;

   $("#my-button").click(function(){
      myFunc();  
  });
}

答案 2 :(得分:0)

由于点击处理程序中的this引用my-buttonthis.func1()将无效。 func1()将无效,因为最终触发点击处理程序时,它将处于不同的上下文中,func1()在该上下文中没有任何意义。你的解决方案很好。