当我们在平板电脑上单击外部时,如何关闭引导程序 3 下拉菜单
How to close bootstrap 3 dropdown when we click outside on a tablet?
我正在这样做,它在桌子上工作正常:
$(document).on("click", function(){
$(".dropdown-toggle").removeClass("open");
});
但是在iPad上它不起作用,我的下拉菜单仍然打开
您应该将touchstart
和touchend
事件与触摸设备一起使用:
$(document).on("click touchend", function(){
$(".dropdown-toggle").removeClass("open");
});
这个答案与导航栏菜单有关,而不是一般的下拉菜单,但我在寻找我自己的类似问题的答案时遇到了这个问题(点击外面时关闭汉堡菜单),所以我想我会为其他人发布一个替代解决方案,因为接受的答案不适用于汉堡包子菜单(点击打开子菜单会关闭汉堡菜单)。
这个答案是基于公认的答案和这个答案,以及尼克格林对这个答案的评论。
$('html').on('click, touchend', function (e) {
// Close hamburger menu when tapping outside
if ($(e.target).closest('.navbar').length == 0) {
var opened = $('.navbar-collapse').hasClass('collapse in');
if (opened === true) {
$('.navbar-collapse').collapse('hide');
}
}
});
如果我不想在用户单击页面时关闭页面上的任何下拉列表,我会使用此代码段。
$(document).on('click touchend', function(e) {
if ($(e.target).closest('.open').length === 0) {
$('.dropdown-toggle').parent().removeClass('open');
}
});
相关文章:
- Html引导程序警报自动关闭困难
- 引导程序在单击另一个下拉列表时关闭下拉列表
- 在引导程序中单击关闭时隐藏模式
- 如何关闭侧边栏菜单?(引导程序)
- 我的引导程序警报在关闭后不会显示
- 当在外部而不是弹出窗口上单击时,使引导程序弹出窗口关闭
- 使用jquery,我可以如何发现引导程序警报何时关闭
- 在打开下一个抽屉之前关闭上一个抽屉 - Twitter 引导程序 3.
- 当我们在平板电脑上单击外部时,如何关闭引导程序 3 下拉菜单
- 在单击外部 Via 挖空绑定处理程序时,从引导程序 3.3.6 关闭弹出框
- 如何自动关闭并单击图标日期选择器引导程序
- 如何使用 jquery 关闭引导程序下拉菜单
- 如何在中心显示带有消息的加载程序图像,并防止在 AJAX 响应来自 PHP 文件时关闭引导模式对话框
- 引导程序 4 - 避免屏幕单击的模式关闭
- D3(具有引导程序网格布局)-工具提示位置关闭
- 引导程序:如何更改菜单项的颜色由于模式窗口关闭
- 如何从引导程序手动关闭web模式对话框
- 如何确定引导程序崩溃是打开还是关闭
- 当我点击引导程序中的下拉菜单时,它会自动打开,然后关闭
- 在angular ui引导程序中关闭、打开特定模式的页面加载