Javascript Bootsrap v4.1:单击div外部时关闭折叠菜单
我正在尝试为即插即用Javascript Bootsrap v4.1:单击div外部时关闭折叠菜单,javascript,jquery,html,css,bootstrap-4,Javascript,Jquery,Html,Css,Bootstrap 4,我正在尝试为即插即用Mega菜单开发代码。我发现使用折叠方法似乎对此非常有效 我仍然在琢磨如何在菜单外单击时关闭折叠的项目。我是Javascript的初学者,所以使用jquery有点挑战性 编辑:最近我遇到了一段更好的代码,它不是Javascript和JQuery的混合体。我尝试应用它,但仍然无法确定如何正确地定位.collapse()方法 下面的小部件还有一些其他问题,不确定它是否与我的代码相关,因为我以前在错误显示信息时遇到过问题。试试这个 JQuery(已编辑): $(document).
Mega菜单
开发代码。我发现使用折叠方法似乎对此非常有效
我仍然在琢磨如何在菜单外单击时关闭折叠的项目。我是Javascript的初学者,所以使用jquery有点挑战性
编辑:最近我遇到了一段更好的代码,它不是Javascript和JQuery的混合体。我尝试应用它,但仍然无法确定如何正确地定位.collapse()
方法
下面的小部件还有一些其他问题,不确定它是否与我的代码相关,因为我以前在错误显示信息时遇到过问题。试试这个
JQuery(已编辑):
$(document).mouseup(function(e) {
var container = $("#mega-menu");
// if the target of the click isn't the container nor a descendant of the container
if (!container.is(e.target) && container.has(e.target).length === 0) {
//alert("hi");
container.collapse();
//$('.collapse').collapse()
}
代码:
。下拉菜单{
位置:绝对位置;
最高:100%;
左:0;
右:0;
宽度:100%;
显示:-ms flexbox;
显示器:flex;
-ms-flex方向:列;
弯曲方向:立柱;
最小宽度:0;
单词包装:打断单词;
背景色:#fff;
背景剪辑:边框框;
边框:1px实心rgba(0,0,0,125);
填充:1rem;
边界半径:0;
}
.mega菜单切换{
光标:指针;
}
.mega菜单切换::之后{
显示:内联块;
宽度:0;
身高:0;
左侧边缘:.255em;
垂直对齐:.255em;
内容:“;
边框顶部:.3em实心;
右边框:.3em实心透明;
边界底部:0;
左边框:.3em实心透明;
}
@介质(最大宽度:767px){
.下拉菜单{
位置:静态;
}
}
-
-
其他无链接内容。
进一步调查后,我认为我使用的折叠方法不正确。使用现有JQuery并添加collapse('hide')
似乎可以完成以下工作:
$(document).mouseup(function(e)
{
var container = $("#mega-menu");
// if the target of the click isn't the container nor a descendant of the container
if (!container.is(e.target) && container.has(e.target).length === 0)
{
container.collapse('hide');
}
});
经过进一步调查,我认为我使用的折叠方法不正确。使用现有JQuery并添加
collapse('hide')
似乎可以完成以下工作:
$(document).mouseup(function(e)
{
var container = $("#mega-menu");
// if the target of the click isn't the container nor a descendant of the container
if (!container.is(e.target) && container.has(e.target).length === 0)
{
container.collapse('hide');
}
});
为什么保留旧文本?只需将其移除并保留新的issue@TemaniAfif,因为我认为与collapse类相关的问题实际上是由Javascript引起的。因此,我认为了解其中一个问题可能会让某人知道什么是错误的,或者另一方面,他们可能只需要代码,而不是绒毛。我可以删除删除线标题,这更适合那些在编辑之前看到它的人,他们需要建设性的批评,当你有一个向下投票按钮。。我看到这个网站上的提问仍然没有改变。将对文章进行编辑以更好地显示当前问题。为什么保留旧文本?只需将其移除并保留新的issue@TemaniAfif,因为我认为与collapse类相关的问题实际上是由Javascript引起的。因此,我认为了解其中一个问题可能会让某人知道什么是错误的,或者另一方面,他们可能只需要代码,而不是绒毛。我可以删除删除线标题,这更适合那些在编辑之前看到它的人,他们需要建设性的批评,当你有一个向下投票按钮。。我看到这个网站上的提问仍然没有改变。将对帖子进行编辑,以更好地显示当前版本。这很好