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

理由はわかりませんが、この方法で解決しました.this.boxでオブジェクトメソッド内の値を取得できますが、jqueryセレクターは機能しません。

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

この関数が呼び出されているコンテキストに問題がある可能性があり、それはこの関数をどこから呼び出しているかによって異なります。

box_tpv1.open.call(box_tpv1);
于 2013-01-31T09:16:58.690 に答える