0
box_tpv1 = {
    box:$("#box_tpv1"),
    open:function(mensaje,f_ok,f_x){
        this.box.show()
    }
}

当我调用这个box_tpv1.open()时,它不起作用,但如果我在 open 函数 $("#box_tpv1").show() 中编写它,它会起作用。

4

3 回答 3

1

在您的情况下,box_tpv1是一个单例对象,无法使用new. 这意味着 的价值this是微不足道的。

您不妨简单地在函数box_tpv1.box.show()内部open调用。

于 2013-01-31T09:28:53.677 回答
0

调用此函数的上下文可能存在问题,这取决于您从哪里调用此函数,尝试像这样调用

box_tpv1.open.call(box_tpv1);
于 2013-01-31T09:16:58.690 回答
0

我不知道为什么,但我以这种方式解决了它,我可以使用 this.box 获取对象方法中的值,但不能使用 jquery 选择器,如果我这样做它可以工作

box_tpv1 = {
    box:"#box_tpv1",
    open:function(mensaje,f_ok,f_x){
        $(this.box).show()
    }
}
于 2013-01-31T09:52:00.080 回答