0

私は次のものを持っています。関数をパススルーしようとしていることがわかりますが、thisこれは JavaScript\jQuery で可能ですか? 用語が間違っていると思われるものを見つけることができないようです。

function pageLoad(sender, args) {
    if (args.get_isPartialLoad()) {
        jQuery(".ShowPleaseWait").click(function () {
            processingReplacer("Please Wait...", this);
        });
        jQuery(".ShowProcessing").click(function () {
            processingReplacer("Processing...", this);
        });
    }
}

function processingReplacer(message, this) { 
        if (Page_IsValid) {
            jQuery(this).hide();
            jQuery(this).after("<img id='" + jQuery(this).attr('id') + "' class='" + jQuery(this).attr('class') + "' src='/content/images/processing.gif' /> " + message);
            alert("woohoo"); 
        }
}
4

2 に答える 2

5

this関数パラメーターの名前として使用することはできません。別のものに変更します。

function processingReplacer(message, target) { 
    if (Page_IsValid) {
        jQuery(target).hide();
        jQuery(target).after("<img id='" + jQuery(target).attr('id') + "' class='" +
           jQuery(target).attr('class') + "' src='/content/images/processing.gif' /> " +
           message);
        alert("woohoo"); 
    }
}
于 2012-06-29T13:29:47.957 に答える
2

あなたはこれを行うことができます:

processingReplacer.call(this, "Please Wait...");

..。

function processingReplacer(message) { 
        if (Page_IsValid) {
            jQuery(this).hide();
            jQuery(this).after("<img id='" + jQuery(this).attr('id') + "' class='" + jQuery(this).attr('class') + "' src='/content/images/processing.gif' /> " + message);
            alert("woohoo"); 
        }
}

呼び出しを使用して、のコンテキストを設定できますthis。しかし、ジョンの答えはおそらくもっと読みやすいでしょう。

于 2012-06-29T13:31:12.790 に答える