如何删除 Bootstrap 下拉菜单的 preventDefault 行为

sup*_*ize 4 html javascript jquery twitter-bootstrap-3

我在我的标记中使用Bootstrap 3下拉菜单。但除了默认行为之外,如果我悬停在元素上,它应该会弹出。所以我创建了一个小脚本:

jQ('.dropdown').hover(function() {
    jQ(this).find('.dropdown-menu').stop(true, true).delay(50).fadeIn();
}, function() {
    jQ(this).find('.dropdown-menu').stop(true, true).delay(50).fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

这是工作正常。但是由于某种原因,当我想将第一个项目(触发悬停)作为链接时,Bootstrap 下拉菜单会阻止重定向到另一个页面。我点击了链接,什么也没发生,它只附加了一个 class .open。如果我右键单击并选择 ,我只能打开链接open destination in new tab。我怎样才能解决这个问题?

谢谢

Art*_*iak 7

只需data-toggle="dropdown"从按钮中删除属性(我想它是锚标记):

<a class="btn btn-default dropdown-toggle" href="http://somewhere" target="_blank" id="dropdownMenu1" >
    Dropdown
    <span class="caret"></span>
</a>
Run Code Online (Sandbox Code Playgroud)

JSFiddle


data-toggle 属性是引导程序的指示符,事件应该绑定到元素,取决于属性值:

data-toggle="dropdown"
data-toggle="tooltip"
data-toggle="modal"
data-toggle="popover"
data-toggle="tab"
data-toggle="collapse"
data-toggle="button"
Run Code Online (Sandbox Code Playgroud)

注意:您可能在移动设备上遇到“单击打开链接”方案的问题。