- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
解绑全局 ajaxSuccess 事件处理程序时遇到问题。
每次我运行以下代码然后测试 ajax 函数时,每次运行代码时都会调用一次方法 Hook 。
var hook = function() { console.log('hey'); };
$(document).unbind('ajaxSuccess', hook); // not working
$(document).bind('ajaxSuccess', hook);
我也尝试过使用
$(document).ajaxSuccess(hook);
但上面的内容并没有取代现有的 hook 引用,并且具有与上面相同的行为。
可能相关的一件事是我使用的是非常旧版本的 jQuery (1.3.2)。
我确定这里显然缺少一个解决方案,但大脑今天无法正常工作。任何帮助将不胜感激!
提前致谢!
最佳答案
.unbind()
中的第二个参数应该是对当前绑定(bind)的函数的引用。如果您将变量更改为指向不同的函数,它将不起作用。
因此,如果您首先将 ajaxSuccess
绑定(bind)到名为 hook
的函数:
var hook = function () { console.log("a"); };
$(document).bind("ajaxSuccess", hook);
然后更改hook
并尝试解除绑定(bind):
hook = function () { console.log("b"); };
$(document).unbind("ajaxSuccess", hook);
$(document).bind("ajaxSuccess", hook);
这将失败,因为 hook
不再包含对原始函数的引用。相反,在更改 hook
的值之前取消绑定(bind):
$(document).unbind("ajaxSuccess", hook);
hook = function () { console.log("b"); };
$(document).bind("ajaxSuccess", hook);
或者,如果这不可能,例如,因为原始的hook
不再在范围内,您可以省略第二个参数以删除所有 绑定(bind)处理程序:
$(document).unbind("ajaxSuccess");
当然,如果您有另一个处理程序绑定(bind)到 document.ajaxSuccess
,它也将被解除绑定(bind)。
关于javascript - 取消绑定(bind) jQuery ajaxSuccess 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020043/
我想注册一个全局ajaxSuccess处理程序,它会在某些条件下取消调用者函数的特定ajaxSuccess处理程序。 有办法实现吗? 提前致谢 最佳答案 不幸的是,没有办法做你想做的事情,不是这样,你
我真正不喜欢 jQuery 的一件事是它的链接。我发现的所有样本都在使用它。那么有没有一种方法可以不使用链接来定义 ajaxSuccess 呢?我试过了,但没用。 jQuery.ajax({
我感谢所有的帮助。我是一个初学者,几乎没有 jQuery/AJAX 经验,我一直在疯狂地试图弄清楚为什么我无法弄清楚这一点。 我正在编写一个 Facebook 页面应用程序,让用户授予权限并将视频上传
我当前创建的效果是快速淡出,然后在请求成功时元素淡入。 因为 jQuery 以常规方式处理(从上到下),我可以通过下面的“hack”获得效果。 但是我想知道是否有更好的方法来创建这种效果。这是我现在所
我有一个 ASP MVC 应用程序,它允许用户通过 jQuery ajax 调用向 div 添加多个部分 View 。 jQuery("#AddNew").click(function () {
我正在尝试将使用 jQuery 编写的模块转换为 AngularJS。 我有一个 ajaxSuccess 和 ajaxError 处理程序,它们在全局级别执行 ajax 响应处理。它负责显示所有 Aj
我有一个 native JavaScript 对象,我想将 .ajaxSuccess 回调分配给它。这样做的目的是因为我希望我的数据模型在 ajax 调用成功后更新,但我不想让我的数据模型对整个 Ja
在 AngularJS 中,我希望创建一个包罗万象的 ajax 加载器,不需要将其编织到每个 Controller 中即可工作。传统上,在 jQuery 中我可以做这样的事情: (function g
我已经为 ajaxSuccess 创建了一个全局处理程序,但我需要能够检查每个请求的数据。此时是否可以访问返回的数据? jQuery(document).ajaxSuccess(function(ev
我设置了一个全局ajax成功函数来检测wordpress页面上的ajax提交。根据结果,我想将响应文本传达给页面上的用户。通常我会自己创建 ajax 帖子,然后用我自己的函数将任何响应写入屏幕 -
在我的 $.ajaxSucess() 函数中,我需要查明响应是否为 json。目前我正在这样做: $('body').ajaxSuccess(function(evt, xhr, settings)
解绑全局 ajaxSuccess 事件处理程序时遇到问题。 每次我运行以下代码然后测试 ajax 函数时,每次运行代码时都会调用一次方法 Hook 。 var hook = function() {
我想做的是在进入 $.ajax({success}); 方法之前自动启动一个函数。我有这个: $("body").ajaxSuccess( function(event, XMLHttpReq
我有一个基本的 greasemonkey 脚本,如下所示,每次运行脚本的网站发送 AJAX 请求时,我都想在其中运行一些代码。 我正在使用 ajaxSuccess jQuery 处理程序,但它没有被触
需要一些帮助来理解记录的 success 和 ajaxSuccess 事件之间的区别 here . success 是本地事件,而 ajaxSuccess 是全局事件。我了解局部变量和全局变量之间的区
我似乎找不到关于这个和 the documentation 的明确答案没有说清楚。 从我的理解,以及从什么other answers已经提到,全局 ajaxComplete 事件发生在全局 ajaxS
我一直在尝试在 ajax 事件发生后触发一个函数。有人告诉我,即使 ajax 事件发生在不同的文件中(如果重要,则为同一服务器)并且该文件是 javascript,而不是 jquery,“Ajaxsu
所以我一直在使用 Grails 的 Spring Security,我玩得很开心,但我在通过 AJAX 登录的一件小事上遇到了麻烦。我有一个登录表单发布到 /j_spring_security_che
文档中没有提及,但显然如果本地 AJAX 成功处理程序抛出错误,甚至不会调用全局 ajaxSuccess 处理程序。有没有办法绕过这种机制,因为如果你想分发一个在 ajaxSuccess 上做某事的
我是一名优秀的程序员,十分优秀!