7

我已经实现了 Bootstrap 3.0 的 scrollspy,如下所示:

<nav id="navProposalPreview">
    <ul class="nav navbar-nav">
        <li class="active"><a href="#previewTitlePage">Title Page</a></li>
        <li><a href="#previewDisplay">Display</a></li>
        <li><a href="#previewAddlServices">Additional Services</a></li>
    </ul>
</nav>
<div class="modal-body">
    <div>
        <p id="previewTitlePage"></p>
        <div>Stuff</div>
        <p id="previewDisplay"></p>
        <div>Other stuff</div>
        <p id="previewAddlServices"></p>
        <div>Last stuff</div>
    </div>
</div>

我正在像这样初始化它:

$('.modal-body').scrollspy({ target: '#navProposalPreview', offset: 20 });

它在li您滚动时按预期设置活动,还允许使用链接导航到部分。问题是,当您单击链接时,它会将链接附加到哈希中的 URL,例如。mysite.com/#previewDisplay。我根本不想更改 URL。

我以前在我相信的选项卡中遇到过这个问题,我忘记了解决方案是设置data-parent还是添加这样的点击事件:

$previewModal.find('#navProposalPreview a').on('click', function (e) {
    e.preventDefault();
    return false;
});

添加data-parent与滚动间谍无关,就像标签一样,上面的点击事件导致链接无法导航。

提前致谢。

4

1 回答 1

5

好的,它通过引导程序运行

**"To keep URLs intact, use the data-target attribute instead of href="#"."**

像这样

data-target="#"

http://getbootstrap.com/javascript/#dropdowns

这是一个有效的小提琴示例,很抱歉造成混淆!data-target="#navbar"在锚链接到的容器上

于 2014-06-10T18:44:07.780 回答