假设我有类似的东西:
var MyApp = function() {
this.name = "Stacy"
}
MyApp.prototype.updateName = function(newname) {
this.name = newname;
}
在我的主页中,我有一个:
$(function () {
var instance = new MyApp();
})
我有一个按钮事件处理程序可以更新名称:
$("#button").on("click", function(evt) {
// Update the name in MyApp to something else...
instance.name = "john" // I do not like using instance here, because it has to be "instance" has to be created before I can use it. I want to be able to make this independent of "instance" being created or not
});
这样做的正确方法是什么,以便按钮处理程序将更新“MyApp”以具有正确的名称,而不明确使用创建的 myapp“实例”作为按钮的单击处理程序的一部分?
理想情况下,我想将该 jquery 事件处理程序推到“MyApp”的某个地方,这样我就可以执行以下操作:
MyApp.prototype.events = function() {
$("#button").on("click", function(evt) {
this.name = "john"
});
}
虽然它不起作用,因为这指的是别的东西。
如何正确构建我的应用程序,以便事件处理程序或多或少地更新“MyApp”的属性,以便它可以独立于创建的“实例”(即我不再需要使用“实例”)?