【问题标题】:How might I add a global function to jQuery .load -> .complete?如何向 jQuery .load -> .complete 添加全局函数?
【发布时间】:2012-04-25 18:21:38
【问题描述】:

为 [top-secret] 编写一个插件(不是真的:P),我决定最好的做法是“如果”有一种明确的方法可以将功能添加到......也许 $.ajax 的完整func 以便在进行更改后,每次对 .load 的新调用都会在完成时自动调用此实现的函数。

简而言之就是这个想法,把它分解得更多(没有真正的代码,因为我编写的所有代码都工作正常,这部分我不知道从哪里开始,duh1)如果用户单击链接并将视图部分加载到元素中,我将其记录下来并更改数据字段。我想做的是在 .load 的每个实例上都发生这种情况,而不必让编码人员将其添加到 .load 完整函数中的他/她的代码中。

不知道我是如何让这个做得更多的,虽然我不“认为”我做得太糟糕了。谁知道我现在正在浏览 jQuery 库时可能会自己找到答案。如果我这样做了,我会发布它,如果没有,希望有人以前用“jQuery”做过类似的事情?

【问题讨论】:

    标签: jquery jquery-load


    【解决方案1】:

    如果我正确理解了您的问题,您可以使用 ajaxComplete(),只要 AJAX 请求完成,就会调用它。

    编辑以显示使用和工作能力

     $(document).ajaxComplete(function(){ alert('complete'); });
    

    演示:http://jsfiddle.net/4CK7q/

    【讨论】:

    • 是的,我正在调查,但你在每个元素级别设置它,我真的想要一个全局更改,现在使用 ajaxSetup 尝试实现它,但它并没有在所有子句下触发
    • @SpYk3HH ajaxComplete() 是全局的,文档中的示例有些误导,它没有绑定到特定元素。查看演示:jsfiddle.net/gPzvP
    • 你知道,我认为它应该是全球性的,因为它所说的,我只是不明白元素借口的必要性。我试过了,果然,它几乎可以使用我在("") 中输入的任何内容。似乎很奇怪,他们不会只是让它$.ajaxComplete()
    • @SpYk3HH 我完全同意你的看法,我也不明白为什么不只是$.ajaxComplete()
    • 大声笑,我确实发现了一个真正的问题,它并没有像设置一个那样“添加一个功能”,如果编码人员需要在其他地方使用该功能,这可能是一个问题,因此我猜测使用空白元素的原因,现在用多个空白进行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2012-08-05
    • 2015-06-10
    • 2018-09-30
    相关资源
    最近更新 更多