2009-10-29 88 views
0

的情况如下

在一个父页我们有一个ID和名称 “占位符” div标签

  • 步骤1:的“占位符”是通过调用Ajax填充有第1页内容
  • 步骤2:“占位符”是通过调用Ajax填充有第2页的内容
  • 步骤3:“占位符”再次通过Ajax填充有第1页内容致电

当第一次加载$(document).ready(function()被调用时,但是从第3步开始,就绪函数没有被调用。

任何方向将不胜感激。

+0

您应该添加您的JavaScript代码的一些代码,以获得更好的解决方案。 – 2009-10-29 13:00:31

回答

1

你应该在你的Ajax调用

2

使用complete回调我想你暗示是那些获得通过你的Ajax调用注入的div元素正在失去他们的事件处理程序。如果是这种情况,您需要使用live委托这些事件,或将它们重新绑定到您的ajax方法的success回调中的元素。一个$(document).ready()块只会在第一次加载页面时执行。

例如说,是可以获得通过你的Ajax调用替换的要素之一是class="something"锚:

$('a.something').live("click", function() { 
    alert('hello'); 
}); 

以上将确保当锚被通过Ajax调用,点击处理器取代仍然会执行。

0

我的理解是$(document).ready)仅在浏览器完成它的初始GET网页时调用。

如果你想触发一个函数,那么你可以在你的Ajax调用中使用成功回调。

1

$(document).ready(...)只有时调用文档载入:如果你是通过Ajax加载内容,那么该事件只会触发一次,第一次加载页面。因此,您最好按karim79建议并使用live或您的Ajax方法的成功回调。

0

“当第一次加载页面$(document).ready(function()正在调用,但从步骤3开始,ready函数没有被调用时” - 假设1-3 ()是一个EVENT HANDLER - 换句话说:文档已准备好成为可执行文件。访问和脚本已经完成装载后的其他事件发生(和之前,但为了这个目的,jQuery是“准备”就绪时

只是一个供参考以下内容也有效:

function myOnLoaded() 
{ 
    // do my load thing here 
} 

$(document).ready(myOnLoaded); 

当事件(就绪)触发时,它调用myOnLoaded。

相关问题