【问题标题】:Initialize the jQuery plugin after AJAX content loadsAJAX 内容加载后初始化 jQuery 插件
【发布时间】:2014-03-06 13:55:28
【问题描述】:

我正在使用 PopEasy jQuery 插件来弹出模态表单。如果触发链接和包含模态表单的 DIV 在使用的​​主文档中,我就可以工作了

$(document).ready(function(){...

初始化插件。

但是,我需要从通过 AJAX 加载的内容触发模式,这发生在 主文档“准备好”之后。

我试过了

$(document).ajaxComplete(function(){...

但我使用 AJAX 的方式可能与该方法预期的略有不同?

AJAX 内容加载后如何初始化插件?

【问题讨论】:

  • 请注意,$(document).ajaxComplete每个完成 AJAX 请求后被调用。因此,如果您(可能)有多个 AJAX 调用,则您的代码(可能)会被执行多次。您只想使用加载 this 特定内容的 AJAX 调用的 success 回调,如 Murali 的回答。

标签: javascript jquery ajax plugins modal-dialog


【解决方案1】:

检索到内容后,您可以在success callback 中进行配置

$.ajax({
  url:"server.aspx",
  type:"POST",
   success:function(result){
   //do it here
   }
});

【讨论】:

  • 似乎有很多方法可以做 AJAX。我熟悉的使用 GetXmlHttpObject、.onreadystatechange、.readystate、.status、.responseText、.open 和 .send。我已经尝试在分配给 .onreadystatechange 的函数的末尾但它没有工作,但是对于 js,我很难说出为什么有些东西不起作用。我不是很了解js。 test
  • 似乎有很多方法可以做 AJAX。下面是我熟悉的一个。我已经在 innerHTML 行之后尝试了该插件,但它没有工作。但是对于 js,我很难说出为什么有些东西不起作用。我不是很了解js。我将如何实施您的答案? function getClassListAjax() { x= GetXmlHttpObject(); x.onreadystatechange = function() { if (x.readyState == 4 && x.status == 200) { document.getElementById("cla").innerHTML = x.responseText; } } x.open("POST", "ajax.php", true); x.send(null); }
  • 哦,那是 jQuery AJAX。我会尝试转换到它,看看效果如何。
  • 好的,我转换为jQuery AJAX并将模态插件代码放入success:将AJAX数据写入DOM之后的参数,它就像一个魅力。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多