有没有办法从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
});
}
其他方法吗??
答案 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-button
,this.func1()
将无效。 func1()
将无效,因为最终触发点击处理程序时,它将处于不同的上下文中,func1()
在该上下文中没有任何意义。你的解决方案很好。