jQuery slideUp在已加载slideDown的ajax div中不起作用

时间:2013-05-07 23:26:38

标签: javascript jquery ajax html5

单击链接类后,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(包含要点击的div以便将其重新滑回)的范围是否会回到层次结构中的那个点?

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

1 个答案:

答案 0 :(得分:1)

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

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

理想情况下,选择距离.closeUp更近的父母。