我有一个对象字面量如下。在 Init
方法中,我为点击事件设置了一个处理程序。稍后,当调用处理程序时,我想使用 this
关键字访问 Bar
属性。在这一点上,this
具有 jQuery 的含义。
此外,为了清楚起见,我不想实现与选择器内联的功能。
var StackOver = {
Bar: "MyBarValue",
Init: function(){
$("#postId").click(this.Foo);
},
Foo: function(eventObject){
// here **this** is jQuery keyword
// how do I access StackOver.Bar?
}
}
如何在 Foo
中访问此对象字面量的属性?
如果我使用的是构造函数字面值,这可能很容易,但这对我来说不是一个好主意:
var StackOver = function (){
var self = this;
function bar()
{
// I can use self here
}
}
编辑 我忘了提到我在这个对象文字中使用了揭示模块模式,它隐藏了对象的私有(private)属性。
最佳答案
其他人都建议使用 .bind
,这是有道理的,但您也可以在闭包中引用对象本身:
Foo: function(eventObject) {
console.log(StackOver.Bar);
}
关于javascript - 在 jQuery 方法中访问对象文字的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028414/