如何在Ajax页面加载后执行jQuery函数
How to execute jQuery function after Ajax page load
我正在构建Wordpress网站,所有内容页面都使用Ajax加载。这给我带来了jQuery localScroll插件的问题。这个插件将为页面上的所有锚链接添加动画滚动。问题是,使用下面的脚本,我只能在点击页面上的一个链接后才能在该页面上播放动画。
我想我明白为什么会发生这种事。我的猜测是,在我点击主菜单后,脚本将执行,但由于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.和Ohgodh为什么提出的解决方案应该有效,但可能是由于网站的复杂性和插件的限制,我没能让它们发挥作用。例如,虽然我使用的是jQuery 1.7.1,但.on
函数根本不起作用。最后,我实现了Just_Mad提出的ajaxComplete
,并取得了成功。谢谢大家的帮助!
这是代码:
$(function() {
$('#wrapperIn').ajaxComplete(function() {
$('#portfolioWrap').localScroll({
target: '#portfolioWrap', // The element that gets scrolled
axis:'y', // Horizontal scrolling
duration:1500
});
});
});
如果您使用jQuery.ajax加载ajax内容,您可以尝试绑定到ajaxComplete事件,以获得任何ajax完成的时刻。
详细说明GoldenNewby所说的内容,使用jQuery 1.7中引入的.on()方法进行侦听/附加。
$(function(){
$('body').on('click', 'a', function() {
$('#portfolioWrap').localScroll({
target: '#portfolioWrap', // The element that gets scrolled
axis:'y', // Horizontal scrolling
duration:1500
});
});
});
无需将AJAX用于侦听/绑定元素的回调。上述函数将在页面加载时/之后,在正文{1}中找到的所有元素上放置一个单击函数。这包括所有动态创建的链接。
{1}-将"body"更改为容器中包含ajax数据的内容。I.E.#portfolioWrap
向ajax加载添加回调,好的起点是http://api.jquery.com/jQuery.ajax/在"成功回调"下
我会给出更具体的建议,但你的片段有点孤立,也许如果你创建了一个jsfiddle?
- 如何在category.php中执行jquery,这应该适用于类别wordpress中的每个帖子
- 在Grails中的gsp中执行jquery代码
- 使用数组表示法对多个字段执行jQuery日期选择器
- 可以'不能间接执行JQuery函数
- 必须等待执行 jQuery,直到加载服务
- 如何按顺序执行 jQuery 函数
- 如何在 ul 标签下执行 JQuery UI 自动完成
- 如何在Safari提交表单之前执行JQuery
- 对未知数量的元素执行Jquery循环
- 页面内容加载完毕后执行Jquery功能
- 在动态列表中单击的特定img上执行JQuery
- 如何在运行时添加的对象上执行Jquery插件
- Android-Javascript:如何在webview中执行jquery
- 在setTimeout中执行jQuery成员函数而不关闭的方法
- Jquery:在Jquery的(字符串)变量中执行Jquery脚本
- 执行Jquery函数()的两个条件
- 表单提交成功后调用/执行JQuery函数
- 当记录达到10以上时,Bootstrap中的DataTable不执行jQuery
- 通过javascript加载jQuery后执行jQuery代码
- 如何正确执行Jquery动画浮动