Javascript 引导子菜单链接不工作

Javascript 引导子菜单链接不工作,javascript,twitter-bootstrap,touch,submenu,Javascript,Twitter Bootstrap,Touch,Submenu,我在各地都看到了这个问题,我已经实施了多种不同的解决方案,但似乎没有任何效果。我有一个引导折叠菜单,其中包含子菜单。单击子菜单链接时,它只会关闭子菜单,而不会重定向到该链接。我已经实现了下面的脚本,我原以为可以实现这一点: $('.dropdown-toggle').click(function(e) { e.preventDefault(); setTimeout($.proxy(function() { if ('ontouchstart' in docume

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

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


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

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

    添加
    window.location.assign(选择yourlinkTag.href)怎么样?我将如何选择该特定链接?我尝试了
    window.location.assign($(this.attr.href))
    但是它试图在所有链接上重定向(即使是那些只是下拉列表的链接),我不能告诉你,如果我看不到你的HTML.HTML添加到问题中,我猜人工调度是当前页面,这就是为什么它没有链接到任何地方。然后我将使用不同的onclick事件来指向相应的链接,然后像您尝试的那样使用
    $(this)
    。像嗯<代码>$('.下拉菜单LIA')。单击()
    。如果你有指向某个地方的链接,而这些链接并不总是在层次结构的确切级别上,嗯。。。然后,您可能需要在每个菜单选项中添加一个类,说明它是类别还是链接。为我工作,谢谢。但是,我不得不将('touchstart',…)上的
    更改为
    单击(…)
    。这有什么不同吗?很高兴它对你也有用!我不确定将
    'touchstart'
    更改为
    'click'
    是否会有很大的不同,如果有的话。实际上,我必须将if更改为
    click(…)
    ,仅供参考-我不必将
    打开('touchstart',…)
    更改为
    click(…)
    。和PS-感谢您的解决方案!