如何在外部单击时使用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作为参考只是猜测你需要什么…