$(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