$(document).ready()没有为ajax加载的内容执行

可能有什么理由不在返回的部分页面中执行document.ready? 它工作正常2次,但在第3次更新html后没有任何反应:

alert(html); alert($(PopUpItem)); $(PopUpItem).html(html); alert('in set popup html completed'); 

我已执行所有警报,PopupItem和html具有正确的值。 我使用JQuery通过$ .post执行服务器调用。

另外,如果发生某些语法错误,我可以使用error handling程序来捕获吗?

在返回的AJAX中,您不需要$(document).ready()调用。 DOM已经加载。 像这样简单的东西可以做到这一点:

  

document.ready仅在最初加载页面时执行。

为了获得error handling程序,您可以使用更多$ .ajax来执行ajax调用( http://api.jquery.com/jQuery.ajax/ )。

你是说传递给$(PopUpItem).html()html字符串包含一个带有document.ready(function() { ... });document.ready(function() { ... }); 在里面?

如果是这样, ready事件处理程序不会触发的原因是该脚本根本不运行。 看到这个具有相同“第三次”行为的问题。

不要将标记加载到标记中。 它根本不是可靠的跨浏览器,jQuery或没有jQuery。

要将事件绑定到任何异步生成的元素,您应该查看livequery: http : //docs.jquery.com/Plugins/livequery