.on()没有按预期工作

时间:2013-08-08 18:50:31

标签: javascript jquery

我有一个弹出的模态,当它再次打开时,我希望滚动条位于顶部而不是用户可能离开的位置。我正在使用.on和scrollTop,但它不起作用。但是,当我在firebug控制台中运行代码行时,它确实有效。

$("#mainContentWindow").on("click", ".question-toggler", function (event) {
    $(".modal-body").scrollTop(0);
    $("#helpSectionDialog").modal('show');


    var helpClass = $("#main-content-pane > div").attr("id");
    $(".help-content").hide();
    $(".help-content." + helpClass).show();
});

1 个答案:

答案 0 :(得分:1)

我刚刚使用jQuery和Bootstrap遇到了这个问题。我通过为'shown'事件添加一个处理程序来解决它,该事件立即动画scrollTop(持续时间为0)。

假设你有一个id为'notice'的模态,其主体ID为'noticeBody':

// reset notice scrolling
$('#notice').on('shown', function(){
    $('#noticeBody').animate({scrollTop:0}, 0);
});

我相信您遇到的问题是由于在隐藏div时移动滚动条有问题,但您的里程可能会有所不同(YMMV)。