2012-07-10 73 views
1

我已经研究过这个问题,当我点击它关闭的表单时,因为boostrap-dropdown.js,我仍然无法使它工作。不过,我正在按照本指南的说明使用引导程序在导航栏上创建一个登录dropbdown:Guide,并且它们包含JS以阻止表单关闭,但它不适用于我。引导登录下拉“点击”不起作用

这里是我的代码:

<div class="navbar navbar-fixed-top"> 
<div class="navbar-inner"> 
<div class="container"><!-- Collapsable nav bar --> 
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 
<span class="icon-bar"></span> 
<span class="icon-bar"></span> 
<span class="icon-bar"></span> 
</a> 

<!-- Your site name for the upper left corner of the site --> 
<a class="brand"><img name="" src="bglogo.png" alt=""></a> 

<!-- Start of the nav bar content --> 
<div class="nav-collapse"><!-- Other nav bar content --> 

<!-- The drop down menu --> 
<ul class="nav pull-right"> 
<li><a href="https://stackoverflow.com/users/sign_up">Sign Up</a></li> 
<li class="divider-vertical"></li> 
<li class="drop down"> 
<a class="dropdown-toggle" href="#" data-toggle="dropdown">Sign In <strong class="caret"></strong></a> 
<div class="dropdown-menu" style="padding: 15px; padding-bottom: 0px;"> 
<!-- Login form here --> 
<form action="Checklogin.php" method="post" accept-charset="UTF-8"> 
<input id="user_username" style="margin-bottom: 15px;" type="text" name="user[username]" size="30" /> 
<input id="user_password" style="margin-bottom: 15px;" type="password" name="user[password]" size="30" /> 
<input id="user_remember_me" style="float: left; margin-right: 10px;" type="checkbox" name="user[remember_me]" value="1" /> 
<label class="string optional" for="user_remember_me"> Remember me</label> 

<input class="btn btn-primary" style="clear: left; width: 100%; height: 32px; font-size: 13px;" type="submit" name="commit" value="Sign In" /> 
</form> 
</div> 
</li> 
</ul> 
</div> 
</div> 
</div> 
</div> 

和我的javascript,我结束标记之前插入在:

<!-- Placed at the end of the document so the pages load faster --> 

<script src="twitter-bootstrap-v2/docs/assets/js/jquery.js"></script> 

<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-transition.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-alert.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-modal.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-dropdown.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-scrollspy.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-tab.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-tooltip.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-popover.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-button.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-collapse.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-carousel.js"></script> 
<script src="twitter-bootstrap-v2/docs/assets/js/bootstrap-typeahead.js"></script> 
<script> 
$(function() { 
// Setup drop down menu 
$('.dropdown-toggle').dropdown(); 

// Fix input element click problem 
$('.dropdown input, .dropdown label').click(function(e) { 
e.stopPropagation(); 
}); 
});</script> 

谢谢!

编辑:我越想越觉得它越来越成为Javscript的问题,因为窗体和导航栏都很好,但是当我点击下拉菜单时,它会关闭。

回答

1

您在js中引用了错误的容器,.dropdown,它应该是.dropdown-menu;试试这个:

JS

$('.dropdown-menu input, .dropdown-menu label').click(function(e) { 
    e.stopPropagation(); 
}); 

快速提示:您可以通过使用bootstrap.js包脚本,而不是由一个加载它们一个尽量减少你的页面JS调用的次数。

+0

啊,就是这样。谢谢! – andrew 2012-07-10 02:57:34