我有这个引导twitter下拉菜单。我用悬停事件替换了单击事件。现在唯一的问题应该是关注www.google.com,但事实并非如此。我尝试过:
jQuery(".nav .dropdown-toggle").click(function () {
return true;
});
但没有骰子。
这是代码:
<html>
<head>
<title>text</title>
<link type="text/css" rel="stylesheet" href="docs/assets/css/bootstrap.css"/>
<link type="text/css" rel="stylesheet" href="docs/assets/css/bootstrap-responsive.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap-dropdown.js"></script>
<script type="text/javascript">
$(function(){
jQuery('.dropdown-toggle').dropdown();
jQuery('ul.nav li.dropdown').hover(
function() {jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeIn();},
function() {jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeOut();}
);
jQuery(".nav .dropdown-toggle").click(function () {
return true;
});
});
</script>
</head>
<body>
<ul class="nav nav-pills">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="http://www.google.com">
Dropdown
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="#">text</a></li>
<li><a href="#">text</a></li>
</ul>
</li>
</ul>
</body>
</html>
http://jsfiddle.net/rgdwM/
您可以在不使用JavaScript的情况下通过稍微更改标记并添加一个CSS类来实现这一点。
将HTML标记更改为(**注意 禁用添加到下拉切换旁边):**
<a class="dropdown-toggle disabled" data-toggle="dropdown" data-target="#" href="http://www.google.com">
Dropdown
<b class="caret"></b>
</a>
如果您希望子菜单在悬停时显示(因为单击现在将转到指定的url),请添加以下CSS类:
.nav li.dropdown:hover .dropdown-menu
{
display: block;
}
这适用于引导版本2.3.1。
不太确定您在这里想要实现什么。
但这会让.click()
带你去谷歌。
$(".nav .dropdown-toggle").click(function () {
window.location = "http://www.google.com";
});
至于为什么<a>
点击事件被吃掉,我目前还不确定。
如果您希望父级跟随Wordpress上的链接,请使用此:
$(".nav .dropdown-toggle").click(function () {
window.location = $(this).attr('href');
});
Bootstrap 3.0文档称使用data-target
属性来保留可点击的链接。
因此,您的HTML将变成:
<a class="dropdown-toggle" data-toggle="dropdown" data-target="http://www.google.com" href="#">
Dropdown
<b class="caret"></b>
</a>