AJAX脚本不“看到”加载的元素

时间:2013-06-02 18:35:14

标签: javascript jquery ajax

我正在使用jQuery脚本,当用户点击页面上的各种链接时加载内容:

$('.main-navigation a[href*=\''+window.location.hostname+'\'], .site-info a[href*=\''+window.location.hostname+'\'], .widget-area a[href*=\''+window.location.hostname+'\'], #breadcrumbs a, #smi-logo a').click(function(event) 

{
// Load content and play some animaion
}

问题是,一些应该由AJAX定位的链接(.widget-area a[href*=\''+window.location.hostname+'\'], #breadcrumbs a)实际上是在加载的内容中,并且脚本没有“看到”它们(我猜是因为它们没有出现在页面HTML源代码中)。

如何访问加载内容中的链接?

1 个答案:

答案 0 :(得分:2)

看起来你想要委托事件处理。获取容器最终将保存动态加载的内容(但其本身当前存在),并使用on设置事件处理程序。

因此,如果它是一个id为foo的div,你会这样做:

var hostName = window.location.hostname;
$('#foo').on('click', 'a[href*=\''+ hostName +'\'], #breadcrumbs a', function(){
    //your code here
});