javascript - 在 jQuery 方法中访问对象文字的属性

标签 javascript jquery this

我有一个对象字面量如下。在 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/

相关文章:

javascript - FullCalendar jQuery 插件 - 设置今天的日期

javascript - vuex 中 { dispatch, commit } 的类型是什么?

javascript - 无法在 beforeunload 事件上重置 Widow

javascript - jQuery:简单的 $() 选择 #id 在 RoR 上下文中不起作用

javascript - 如果值 >= 15 语句 TypeScript

javascript - Jest 快照测试 - 在 componentDidMount() 中创建新对象时发生错误

javascript - 通过 ajax 将图像粘贴到 laravel Controller

javascript - 使用 AJAX 显示 SQL 查询结果

javascript - 如何在类型方法中使用另一个类方法和 this 上下文?

javascript - JavaScript 原型(prototype)对象中 this 的值