Bootstrap子菜单链接不起作用

时间:2013-08-22 19:14:09

标签: javascript twitter-bootstrap touch submenu

我已经看到了这个问题,我已经实现了我找到的多种不同的解决方案,但似乎没有任何效果。我有一个bootstrap可折叠菜单,其中包含子菜单。单击子菜单链接时,它只关闭子菜单,不会重定向到链接。我已经实现了以下脚本,我原以为这样做了:

$('.dropdown-toggle').click(function(e) {
    e.preventDefault();
    setTimeout($.proxy(function() {
        if ('ontouchstart' in document.documentElement) {
            $(this).siblings('.dropdown-backdrop').off().remove();
        }
    }, this), 0);
});

此脚本允许子菜单在触摸屏设备上下拉,但链接不起作用。我尝试删除e.preventDefault();行,但这似乎也不起作用。

如何让我的子菜单链接在移动触摸屏上工作?它们可以在桌面上正常工作,当我按住触摸屏上的链接时,我可以在新选项卡中打开正确的链接,但只需点击它就不起作用。

编辑:以下是我的HTML文章:

<div class="span3">
    <li class="dropdown-submenu">
        <a href="#" tabindex='-1' class="dropdown-toggle nav-header" data-toggle="dropdown"><i class='icon-time'></i>Time Clock Management</a>
        <ul class='dropdown-menu'>
            <li><a href="#">Labor Scheduling</a></li>
            <li><a href="/change-manager/">Change Manager</a></li>
        </ul>
    </li>
</div>

1 个答案:

答案 0 :(得分:10)

我通过添加以下javascript修复了此问题:

$('.dropdown-submenu ul.dropdown-menu li a').on('touchstart', function(e) {
    e.preventDefault();
    window.location.href = $(this).attr('href');
})