我正在构建使用Ajax加载所有内容页面的Wordpress网站。这是jQuery localScroll插件的问题。该插件将向页面上的所有锚链接添加动画滚动。问题是,使用下面的脚本我只能在页面上的一个链接被点击后才能在该页面上有动画。如何在Ajax页面加载后执行jQuery函数
我想我明白为什么会发生这种情况。我的猜测是,我点击主菜单后脚本将执行,但由于Ajax内容尚未加载,事件不会附加到Ajax加载的内容链接。现在我卡住了,我不知道如何解决这个问题。你介意帮助我这个吗?
预先感谢您。
$(function(){
$('a').live('click', function() {
$('#portfolioWrap').localScroll({// Only the links inside that jquery object will be affected
target: '#portfolioWrap', // The element that gets scrolled
axis:'y', // Horizontal scrolling
duration:1500
});
});
});
编辑
只是说明给别人后,我设法使这项工作。我在这里尝试了所有建议。我的猜测是由o.v提出的解决方案。和Ohgodwhy应该工作,但可能是由于网站的复杂性和可能的插件限制,我无法让他们工作。例如.on函数根本不起作用,尽管我使用的是jQuery 1.7.1。最后我实施了Just_Mad建议的ajaxComplete,并且工作。感谢大家的帮助!
这是代码:
$(function() {
$('#wrapperIn').ajaxComplete(function() {
$('#portfolioWrap').localScroll({
target: '#portfolioWrap', // The element that gets scrolled
axis:'y', // Horizontal scrolling
duration:1500
});
});
});
2012-03-15
Klikerko
+0
.live实际上并未将事件附加到元素。它实际上是监听整个文档的事件,然后看看你的'a'过滤器是否匹配。 –
2012-03-15 07:20:47