【问题标题】:jQuery slideUp doesn't work within ajax div that has loaded with slideDownjQuery slideUp 在加载了 slideDown 的 ajax div 中不起作用
【发布时间】:2013-05-07 23:26:37
【问题描述】:

单击链接类后,一个 div 会向下滑动并加载 Ajax 内容:

$(document).ready(function(){
$.ajaxSetup({cache:false});
$(".read a").click(function(){
    var post_id = $(this).attr("rel");

    $("#fold-above").slideDown(500);        
    $("#fold-above").load("<?php echo get_site_url(); ?>/ajaxpost/",{id:post_id});
    return false;
});
});

在加载的 Ajax 内容中,有一个链接可以将父 div 向上滑动:

$(document).ready(function(){
$(".closeUp").click(function (event){   
    $('#fold-above').slideToggle();
});
});

我认为正在发生的可能是存在嵌套问题,也许是 ajax?

#fold-above 的调用范围是否会返回到层次结构中的那个点?

如果需要更多代码作为示例或输出,请告诉我。

【问题讨论】:

    标签: javascript jquery ajax html


    【解决方案1】:

    .closeUp 似乎是通过 ajax 加载的,因此在调用 .click 方法时不存在。您需要改用事件委托。

    $(document).on('click', '.closeUp', function () {
        $('#fold-above').slideToggle();
    });
    

    理想情况下,选择与.closeUpdocument 更接近的父级。

    【讨论】:

    • “更接近”是指按层次结构更接近的 div 吗?您的解决方案有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 2011-04-17
    相关资源
    最近更新 更多