我有以下内容你可以看到我试图通过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");
}
}
答案 0 :(得分: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");
}
}
答案 1 :(得分: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");
}
}
使用call,您可以设置this
的上下文。但Jon的答案可能更具可读性。