我正在尝试使用 jQuery“附加”事件函数调用页面方法,其中我喜欢使用闭包将事件目标保持在本地,如下所示,但页面方法调用声明了几个“错误”函数,我想对所有这些都使用一个函数。如果在下面的代码中,我处理了一个错误但没有成功,我如何使用我的单个匿名处理程序来处理所有 3 个错误函数?
$(":button").click(function () {
var button = this;
PageMethods.DoIt(
function (a, b, c) {
alert(button);
});
});
此示例为成功回调传递一个匿名函数。只有其中之一。如果我传递一个错误回调,我如何对所有 3 个错误回调使用“function (e, c, t)”?
添加:我在这里想做的是每当用户单击切换按钮(复选框)时触发 AJAX 调用,但为了提高响应能力,我想立即切换按钮状态,并且仅在以下情况下“取消切换”它: AJAX 调用失败。
现在,在我的客户端 click()
事件处理程序中,我想在 click()' 范围内使用匿名函数,以便这些函数可以访问
this事件参数,但我不想为
onTimeout、
onError 和 'onAbort
参数“声明”三个函数PageMethods.MyFunction 函数的。如果我在点击处理程序之外声明一个命名函数,它就无法再访问 click()
事件处理程序的“this”参数。
最佳答案
如果您的目标是使该函数脱离全局范围,请使用 the module pattern :
(function() {
function asplode() {
alert('Your head asplode.');
}
$('body').click(asplode);
})();
关于asp.net - 如何引用匿名 JavaScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641132/