我正在使用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源代码中)。
如何访问加载内容中的链接?
答案 0 :(得分:2)
看起来你想要委托事件处理。获取容器最终将保存动态加载的内容(但其本身当前存在),并使用on设置事件处理程序。
因此,如果它是一个id为foo
的div,你会这样做:
var hostName = window.location.hostname;
$('#foo').on('click', 'a[href*=\''+ hostName +'\'], #breadcrumbs a', function(){
//your code here
});