【问题标题】:Script is not working on jQuery load() inside a jQuery .on event脚本不适用于 jQuery .on 事件中的 jQuery load()
【发布时间】:2018-08-12 17:41:51
【问题描述】:

我必须让 WordPress 帖子页面通过 AJAX 加载,因为我认为这会给用户体验带来麻烦,而且我不想在 URL 上显示:https://mydomain/dashboard/page/2。事情是这样的:

使用此代码,一切似乎都可以通过 AJAX 完美加载:

jQuery(document).ready(function($) {
    $("body").on('click', '.job-page a', function(e){
    e.preventDefault();
    var link = $(this).attr('href');
        $('#my-jobs-content').fadeOut(0, function(){
            $("#hb_job_list").load(link + ' #hb_job_list', function() {
                $("#my-jobs-loader").hide();
                $(this).fadeIn(500);
            });
        });
    $("#my-jobs-loader").show();
    });
});

但是,加载的页面上有一个带有脚本的按钮,我无法使其工作。我试图将 .on 设置为 .live 但它返回 404 ajax 错误。有什么建议吗?

【问题讨论】:

  • 我觉得问题出在$(this).fadeIn(500);这个语句执行的地方,this不再指$('#my-jobs-content')。尝试使用$('#my-jobs-content').fadeIn(500);
  • 这也不起作用@Titus,我注意到在AJAX调用之后,元素上的脚本消失了。
  • 这是一件事。我注意到在触发加载后脚本标签被删除,所以我移出了不受负载容器影响的脚本。

标签: javascript php jquery ajax wordpress


【解决方案1】:

表示 ajax cal 工作并且您在 ajax 响应状态码中得到 404 ?那么可能链接变量无法正常工作检查链接变量指向正确的端点。由于在点击事件上触发了 ajax 调用,因此使用“on”或“live”都没有问题。

【讨论】:

  • 是的,但 ajax 调用在“on”事件中工作,事件处理程序绑定已正确完成,我认为可能的 404 问题在您的端点 URL 中。尝试控制台记录端点并检查 URL 是否正确
猜你喜欢
  • 1970-01-01
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
相关资源
最近更新 更多