【问题标题】:How to remove a global ajax event handler in jQuery如何在 jQuery 中删除全局 ajax 事件处理程序
【发布时间】:2015-03-16 17:01:03
【问题描述】:

这似乎不是一个非常复杂的问题(我真的是 JQuery 的新手),但这是我的问题:

每次在我的网站上单击特定按钮时,我都需要附加一个函数,该函数注册一个全局 ajax 事件处理程序(准确地说是 .ajaxSend)并检查 ajax 请求的选项。

但是,由于可以多次单击按钮,因此我需要以某种方式删除处理程序,以便下一次单击按钮不会再次附加新的事件处理程序,这将导致事件处理程序堆积。

如果您想知道,我无法将回调附加到特定的 ajax 请求,因为我通过 Google 跟踪代码管理器自定义 HTML 标记包含代码(如果您知道我在说什么)

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:

    ajaxSend 函数只是 .on('ajaxSend', ...) 的包装器

    因此,您应该能够使用$(document).off('ajaxSend') 删除所有现有的处理程序。

    【讨论】:

    • 我怎样才能从 .ajaxSend 中分离一个特定的句柄呢?
    • 如果您有对处理程序的引用,只需将其作为第二个参数传递。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多