Javascript js正在向上滚动窗口

Javascript js正在向上滚动窗口,javascript,twitter-bootstrap,Javascript,Twitter Bootstrap,我这里没有太多代码要显示,我使用的是bootbox.js(http://bootboxjs.com/)对于警报,每次弹出警报时,页面都会滚动到顶部。有什么办法可以预防吗?我正在从一个长列表中删除项目,并希望页面保持在原来的位置 bootbox.backdrop(false) bootbox.confirm("Delete: " + alarmId + "?", function(result){ if(result) doStuff }) 至于HTML,我两种都试过了- <a h

我这里没有太多代码要显示,我使用的是bootbox.js(http://bootboxjs.com/)对于警报,每次弹出警报时,页面都会滚动到顶部。有什么办法可以预防吗?我正在从一个长列表中删除项目,并希望页面保持在原来的位置

bootbox.backdrop(false)
bootbox.confirm("Delete: " + alarmId + "?", function(result){
if(result)
    doStuff
})
至于HTML,我两种都试过了-

<a href="#" class="close alarmDelete">&times;</a>

×;
还有其他一些方法,它还是会向上滚动

谢谢

请试试这个

 bootbox.confirm("Delete: " + alarmId + "?", function(result) {}, {"backdrop": false});

启动引导框会导致页面滚动到顶部

尝试从图标或div启动它;除了空锚以外的东西


您的另一个选项是
返回false从您的点击处理程序。可能有两个答案。href=“#”可能会将您发送到顶部,因此请尝试使用href=“javascript:;”进行更改。它也可以是关于css的。当它将正文的溢出更改为隐藏时,它可能会将您的页面裁剪到窗口大小以下,因此您认为它正在向上滚动

尝试将此添加到css:

.modal{
    direction:rtl;
    overflow-y: auto;
}

.modal .modal-dialog{
    direction:ltr;
}

.modal-open{
    overflow:auto;
}

我也有同样的问题。正如在本页的另一个答案中所提到的,Bootbox正在将主体的溢出更改为隐藏,使页面变小,从而无法滚动

这个css为我解决了这个问题:

body.modal-open {
    overflow: visible;
}

将引导箱类别位置更改为固定,将模式打开更改为可见溢出。这将将使弹出窗口固定在屏幕中央。这样可以防止车窗跳动,我认为这样效果更好。我知道这是一篇老文章,但我在尝试解决同一问题时遇到了这个问题,有些人可能会发现这很方便

可以通过将标签从“a”更改为“button”轻松解决

<p>Content here.
    <button type="button" class="show-alert">Alert!</button>
</p>
<script>
    $(document).on("click", ".show-alert", function(e) {
        var dialog = bootbox.dialog({
            title: 'A custom dialog with init',
            message: '<p><i class="fa fa-spin fa-spinner"></i> Loading...</p>'
        });

        dialog.init(function() {
            setTimeout(function() {
                dialog.find('.bootbox-body').html('I was loaded after the dialog was shown!');
            }, 3000);
        });
    });
</script>
这里的内容。
警觉的!

$(文档)。在(“单击”,“显示警报”,功能(e){ var dialog=bootbox.dialog({ 标题:“带有init的自定义对话框”, 消息:“正在加载…

” }); dialog.init(函数(){ setTimeout(函数(){ dialog.find('.bootbox body').html('我是在显示对话框后加载的!'); }, 3000); }); });
html在哪里?这可能是因为您正在使用带有href='#'的锚定标记来触发警报。kennypu添加了html,结果总是相同的,谢谢提醒,刚刚做了。谢谢,但背景是另外一回事,它说警报不应该使它下面的内容变暗(z-wise)。
body.modal-open {
    overflow: visible;
}
.bootbox {
  width: 100%;
  height: 100%;
  display: table;
  position: fixed;
}
<p>Content here.
    <button type="button" class="show-alert">Alert!</button>
</p>
<script>
    $(document).on("click", ".show-alert", function(e) {
        var dialog = bootbox.dialog({
            title: 'A custom dialog with init',
            message: '<p><i class="fa fa-spin fa-spinner"></i> Loading...</p>'
        });

        dialog.init(function() {
            setTimeout(function() {
                dialog.find('.bootbox-body').html('I was loaded after the dialog was shown!');
            }, 3000);
        });
    });
</script>