Jquery 在单击“外部”时隐藏按钮
我不知道怎么做,因为我是一个新手。单击按钮Jquery 在单击“外部”时隐藏按钮,jquery,html,button,Jquery,Html,Button,我不知道怎么做,因为我是一个新手。单击按钮.dropB时,我需要一个下拉菜单.dmenu,并需要该.dmenu在按钮之外的任何位置单击或点击按钮后立即隐藏 $('.dropB').click(function(){ $('.dmenu').toggle(); }) 但这不允许在单击.dropB之外的任何位置时隐藏它。 如果您有任何帮助,我们将不胜感激。使用委派来处理对文档的单击。检查目标,如果它与您的按钮匹配,则切换菜单。如果没有,则隐藏菜单 演示: 您可能还需要检查目标是否是菜单
.dropB
时,我需要一个下拉菜单.dmenu
,并需要该.dmenu
在按钮之外的任何位置单击或点击按钮后立即隐藏
$('.dropB').click(function(){
$('.dmenu').toggle();
})
但这不允许在单击.dropB
之外的任何位置时隐藏它。
如果您有任何帮助,我们将不胜感激。使用委派来处理对文档的单击。检查目标,如果它与您的按钮匹配,则切换菜单。如果没有,则隐藏菜单 演示:
您可能还需要检查目标是否是菜单本身,以便在单击时不会隐藏自己。使用委派来处理对文档的单击。检查目标,如果它与您的按钮匹配,则切换菜单。如果没有,则隐藏菜单 演示: 您可能还需要检查目标是否是菜单本身,以便在单击时不会隐藏自身。您可以使用:
$('.dropB').click(function (e) {
e.stopPropagation();
$('.dmenu').toggle();
})
$(document).click(function (e) {
if (!$(e.target).is('.dmenu')) {
$('.dmenu').hide();
}
})
您可以使用:
$(document).on("click", function(e) {
var $target = $(e.target);
if ($target.hasClass("dropB")) {
$('.dmenu').toggle();
} else {
if (! $target.hasClass("dmenu")) {
$('.dmenu').hide();
}
}
})
$('.dropB').click(function (e) {
e.stopPropagation();
$('.dmenu').toggle();
})
$(document).click(function (e) {
if (!$(e.target).is('.dmenu')) {
$('.dmenu').hide();
}
})
你能定义“点击的外部
.dropB
”吗?你能共享标记吗?你能定义“点击的外部.dropB
”吗?你能分享标记吗?也许可以创建一个提琴,你能制作一个JSFIDLE吗。老习惯!您可能需要使用stopPropogation(),因为单击菜单也是一个单击文档。@Pazza22:我在答案中写道,我认为Op可以从那里开始使用它。@user3187838:添加了fiddle。请您制作一个JSFIDLE。修复@Liam。老习惯!您可能需要使用stopPropogation(),因为单击菜单也是一个单击文档。@Pazza22:我在答案中写道,我认为Op可以从那里开始使用它。@user3187838:添加了fiddle。
$(document).on("click", function(e) {
var $target = $(e.target);
if ($target.hasClass("dropB")) {
$('.dmenu').toggle();
} else {
if (! $target.hasClass("dmenu")) {
$('.dmenu').hide();
}
}
})