0

私は最近Asp.NetMVCを始めたばかりですが、現時点では無知です。だから私の仕事は.jsファイルのテキストをローカライズすることです。私の問題は、ブラウザにこのダイアログラベルを表示できないように見えることです。置き換えたいテキストは、「AからBを削除」です。このテキストの代わりに「this.a」を使用して変数「a」を使用しようとしましたが、機能しません。

function Remove() {

   var a = "";

   this.Load = function () {
      ...`enter code here`
        });

   this.InitEventHandlers = function () {
        $("#updateRemove").click(function (e) {
            amplify.publish("UpdateRemove");
            e.preventDefault();
        });

   $("#removeA").click(function () {
            $("#removeA").dialog({
                title: "Remove A to B",
                width: 300,
                autoOpen: true,
                modal: true,
                draggable: false,
                resizable: false,
                dialogClass: "RemoveB",
                open: function () { $(this).appendTo("RemoveC"); }
            });
        });
...
4

1 に答える 1

0

remove 関数内のオブジェクトではコンテキストが現在のオブジェクトであるため、「this」の参照を保存する必要があります。

これを行う:

function Remove() {

  var that = this;

  that.a = "";

  $("#removeA").click(function () {
    $("#removeA").dialog({
      title: that.a,

ここでもう少し読むことができます:http://javascript.crockford.com/private.html

于 2013-01-22T08:02:05.650 に答える