如何将$(document).ready()重新应用于通过AJAX加载的部分HTML
How to re-apply $(document).ready() to some partial HTML loaded via AJAX?
我仍然是一个jQuery新手,我正试图将ThemeForest模板集成到我的项目中。这个ThemeForest模板(vPanel)非常棒,但它集成了很多jQuery插件和功能,所以我有很多$(document).ready()到处都是,我很难弄清楚哪个脚本做什么。我之所以寻找它,是因为所有这些脚本在最初加载页面时都很好地应用于页面,但我的UI中也有一些部分稍后通过AJAX加载。这就是我的问题开始的地方:有没有一种方法可以将所有的脚本重新应用到通过AJAX加载的部分HTML ?
您要查找的是live()事件。你可能需要回去修改一些插件比如
$("my_button").click(function(){ }
成为$("my_button").live("click", function(){ }
其中"my_button"是以后可以通过AJAX实现的。
如果脚本所做的一切都是连接事件,您可以使用delegate
方法(它取代live
方法)将它们连接到包含它们的元素。
如果脚本对元素进行了其他更改,那么您将需要使用上下文参数,以便您可以将更改重新应用到页面的特定部分。例子:
function applyTemplate(context) {
$('.someclass', context).each(function(){
// does something with the elements
});
}
$(function(){
// apply to whole page:
applyTemplate(document.body);
// load more content, and apply to what's loaded:
$('#somePart').load('getpart.aspx', function(){
applyTemplate($('#somePart'));
});
});
相关文章:
- 如何更改jquerymobile中默认的加载ajax加载程序gif
- 无法在 IE6 和 IE7 上加载 ajax
- 页面刷新后重新加载 ajax 检索到的数据
- 清理在加载 Ajax 内容时添加的 CSS
- jquery选项卡加载Ajax内容
- Grails:多个加载ajax调用,但只有一个打印到控制台
- 如何检测通过JSON数据引用的图像何时加载AJAX
- 加载ajax数据时出现jVectorMap问题
- JQuery在加载ajax时阻止链接工作
- 如何在不重新加载ajax的情况下在datatable上.draw()或添加行
- 替换超链接默认操作以加载 AJAX 请求
- 高图表不使用加载 ajax 的数组进行渲染
- 带有 OnClick 的 jQuery 链接标记 href 需要单击两次才能加载 AJAX
- 悬停两次以加载 ajax
- 获取加载 ajax 的文档信息
- 使用 Jquery 在 AJAX 内部加载 AJAX
- 为什么当页面加载 AJAX 时我的 URL 之间没有空格
- 在当前页面中加载一个新的谷歌地图,加载AJAX
- 当滚动达到 80% 时加载 ajax
- 图像滑块未加载 Ajax 请求