jQuery自定义下拉选择框未隐藏
jQuery custom dropdown select box not hiding
我有一个按钮"button",可以激活下拉框"box":
$('.button').click(function()
{
$(this).siblings(".box").toggle();
});
每次单击按钮时,下拉框都会隐藏或显示
$('.box').blur(function()
{
$(this).hide();
});
现在我想实现一个模糊,这样当用户点击下拉框以外的东西时,框就会隐藏起来。
但是
现在,当我在下拉列表打开时单击按钮时,它会关闭并重新打开。我觉得自己陷入了第二十二条军规。
问题是,当我在下拉菜单打开的情况下单击按钮时,blur和.click都会启动。
不要使用模糊,而是在文档的任何位置寻找点击,但要防止在点击框或按钮时冒泡。
$('.button').click( function(event) {
$(this).siblings('.box').toggle();
});
$('html').click( function() {
$('.box').hide();
});
$('.box, .button').click( function() {
event.stopPropagation();
});
http://jsfiddle.net/bLdtz/
尝试
$('.box').blur(function(event)
{
$(this).hide();
event.stopPropagation(); //prevent event from bubbling up the DOM
});
$('.box').blur(function()
{
if($(this).is(":visible"))
$(this).toggle();
});
相关文章:
- 隐藏选择's optgroups及其内容(所选内容除外)
- 隐藏选择选项,并在单击定义的选项后显示它们
- 如何从窗体中隐藏选择值
- 如果选择了其他选择项目,则隐藏选择项目
- 显示/隐藏 选择 HTML5 JavaScript
- 如何向登录用户隐藏选择加入脚本
- 如何从另一个下拉列表中隐藏选择基于下拉列表的值
- 使用JavaScript隐藏选择选项
- 背景图像切换和隐藏选择复选框
- 当满足其他选择菜单值时取消隐藏选择菜单 - jQuery
- 展开按钮单击时选择列表并隐藏选择
- AngularJS - 隐藏<选择>元素,如果ng-option为空
- 使用 javascript/ 显示和隐藏选择框
- 如何隐藏选择(下拉列表)的选定文本
- 如何隐藏选择下拉选择
- 根据多个选择隐藏选择选项
- 隐藏“选择”下拉列表的元素
- 动态隐藏选择框中的选项(取决于第一个选择的值)
- 根据另一个选择的值隐藏选择选项
- 隐藏选择器始终决定元素可见,即使元素不可见