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-感谢您的解决方案!