我的表单上有两个按钮。用户单击任一按钮,就会显示相应按钮的下拉菜单。现在,用户随机单击表单上的任意位置。所以现在我希望隐藏下拉菜单。
我的代码有:
$('html').not( "button.btn.dark.dropdown.copy" ).on 'click', (e) ->
if $('ul.drop-menu.copy-menu').css('display') != 'none'
$('ul.drop-menu.copy-menu').hide()
$('html').not( "button.btn.dark.dropdown.move" ).on 'click', (e) ->
if $('ul.drop-menu.move-menu').css('display') != 'none'
$('ul.drop-menu.move-menu').hide()
在上面的代码中,它适用于移动按钮,但不适用于复制按钮。我无法找到同样的原因。任何帮助将不胜感激。
最佳答案
使用选择器检查最近的目标,
假设显示内容的弹出窗口位于 .popup
类中,然后使用它的类名来检查目标
$('body').click(function (e) {
if (!$(e.target).closest('.popup').length) { // exists only when you click on popup area otherwise will return false and will hide popup
$('ul.drop-menu.move-menu').hide()
}
})
关于javascript - jQuery 中的 .not() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763729/