如何在外部单击时使用Jquery关闭下拉框

所以我有这个下拉框,我想在它外面点击时关闭它,我怎么能得到它?

$(document).ready(function(){ jQuery('ul.nav li.dropdown').click(function() { jQuery(this).find('.dropdown-menu').fadeIn(); $("#actionStatus").html(""); }); $("body:not(ul.nav li.dropdown)").hover(function(){ $("ul.nav li.dropdown").find('.dropdown-menu').fadeOut(); }); $("#btnSendOption").click(function(){ var data = $("#frmUserOption").serialize(); $.ajax({ url: "/users.php", data: data, success: function( data ) { $("#actionStatus").html(""); $("input[type='radio']").attr('checked', false); $('.dropdown-menu').delay(1000).fadeOut(); }, error: function(data) { $("#actionStatus").html("
Error, try again later
"); } }); }); });

非常感谢任何帮助。 先感谢您。

你可以用这个:

 $("body:not(ul.nav li.dropdown)").hover(function(){ $("ul.nav li.dropdown").find('.dropdown-menu').fadeOut(); }) 

可能是这样的:(没有测试它)

 $(document).ready(function(){ $('ul.nav li.dropdown').click(function() { var $this = $(this); $("body").one("click",":not('ul.nav li.dropdown')", function(){ $this.find('.dropdown-menu').fadeOut(); }); $this.find('.dropdown-menu').fadeIn(); $("#actionStatus").html(""); }); }); 

我为你创建了一个简单的jsbin,其中有一个我认为你需要的例子。 我添加了一些简单的html作为参考只是猜测你需要什么…

http://jsbin.com/bodoxixa/1/edit?html,js,output