在AJAX加载的内容上运行JQuery脚本
我使用.load()将静态HTML文件拖到我的主HTML页面上。 我写的脚本和选择器存在于:
$(document).ready(function(){});
但它们不适用于加载AJAX的内容。 我读过这是因为我使用的选择器不可用。
有一个更好的方法吗? 将脚本添加到window.load函数也不起作用:
$(window).load(function() {});
$(document).ajaxComplete(function(){ // fire when any Ajax requests complete })
ajaxComplete()
有多个选项:
- 你可以将初始化脚本[
$(this).click...
]添加到$.load()
callback
函数中 - 你可以使用
$.live()
,它甚至可以为动态加载/创建的对象创建处理程序。
更多信息 :
回调: http : //api.jquery.com/load/ (注意“ complete()
”函数)
绑定: http : //api.jquery.com/live/
编辑 :我的错,它是live()
,而不是bind()
,谢谢你们
您可以通过jQuery的$.live()
将事件绑定到动态加载的内容。
来自jQuery http://api.jquery.com/live/ :
现在和将来,为当前选择器匹配的所有元素附加事件处理程序。
jQuery load接受一个可选的回调函数参数,您可以使用该参数在加载ajax-ed内容后进行所需的任何设置