javascript – 在ajax请求之后准备好jQuery文档

前端之家收集整理的这篇文章主要介绍了javascript – 在ajax请求之后准备好jQuery文档前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在更新ajax请求后未准备好的元素时遇到问题.

如果我在页面加载上运行myFunction()函数,如下所示:

  1. $(function() {
  2. myFunction();
  3. }

我没有任何问题.但是,如果我然后使用类似的东西

  1. $.ajax({
  2. url: this.href,dataType: "script",complete: function(xhr,status) {
  3. myFunction();
  4. }
  5. });

返回$(“.myElement”).replaceWith(“htmlHere”).当完整事件触发时,元素根本就没有准备好.如果我在那里设置延迟,它再次正常工作.

当DOM准备就绪时,除了’完成’之外还有其他事件会被解雇吗?

更新:

这是实际的代码

  1. $(function() {
  2. $("a.remote").live("click",function(e) {
  3. $.ajax({
  4. url: this.href,success: function(xhr,status) {
  5. myFunction();
  6. }
  7. });
  8.  
  9. e.preventDefault();
  10. return false;
  11. });
  12.  
  13. myFunction();
  14. });
  15.  
  16. function myFunction() {
  17. // Modify the dom in here
  18. }

失踪的);对我来说只是一个错字.

香港专业教育学院现在尝试使用成功而不是完成,它似乎没有任何区别.

解决方法

你可以使用$(document).ready(function(){…});在DOM加载时包装你想要触发的任何内容.你的ajax请求可以放在document.ready中,如果你想让它等到dom加载完毕.

如果你想等到ajax加载了它的资源,你应该使用ajax.success而不是完成.

猜你在找的Ajax相关文章