3

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

$('.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>
4

1 回答 1

11

我通过添加以下 javascript 解决了这个问题:

$('.dropdown-submenu ul.dropdown-menu li a').on('touchstart', function(e) {
    e.preventDefault();
    window.location.href = $(this).attr('href');
})
于 2013-08-22T19:55:12.917 回答