崩溃引导按钮在外面点击
Collapse bootstrap button on click outside
我正在使用这段代码,它几乎是从bootstrap文档中取出的,以获得一个按钮的简单折叠行为(我将按钮转换为链接):
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTree" aria-expanded="false" aria-controls="collapseTree">
<b>click me</b>
</button>
<div class="collapse" id="collapseTree">
<div class="well">
<h6>Example text goes here</h6>
</div>
</div>
现在,我要做的是能够关闭文本时,用户单击按钮外面。我知道这在堆栈溢出中被问了很多次,但是jQuery一点也不直观!至少对于像我这样的初学者来说是这样的,所以我真的无法适应这个so答案中提出的任何解决方案来获得期望的行为。
例如,我使用这个脚本(从这里借来的概念,试图控制上面代码的外部点击行为:
<script>
$(document).ready(function () {
$(document).click(function (event) {
var clickover = $(event.target);
var _opened = $(".btn-link").hasClass("collapse");
if (_opened === true && !clickover.hasClass("data-toggle") && clickover.parents('.btn-link').length == 0) {
$("button.data-toggle").click();
}
});
});
</script>
但当然没有运气。如有任何提示,不胜感激!
更新您可以使用以下命令:
//handling the hiding when clicking anywhere else in the document
$(document).mouseup(function(e)
{
var container = $('.btn-link');
if (container.has(e.target).length === 0) {
// the closing function
}
});
这就是我在Bootstrap 4的Coffeescript中使用非标准导航条的方法。
$(document).click (e)->
#console.log e.target
unless $('#toggle-button').has(e.target).length || $('#toggle-menu').has(e.target).length
$('#toggle-menu').collapse('hide')
所以基本上,除非你点击按钮或菜单,否则关闭菜单。
注意:奇怪的是,在iOS上点击文本不会注册一个点击事件,也不会注册一个鼠标上升事件。不过,点击图像会触发5个事件。
相关文章:
- 下拉菜单在菜单按钮的边缘闪闪发光
- Ruby/JS如何在提交按钮后重新加载页面
- 禁用facebook在like按钮启动edge.create事件
- 如何在没有按钮的情况下提交表单
- 我想在每个按钮点击事件上加载多个图表.我使用了下面的谷歌代码
- jqgridnavgrid在搜索按钮和自定义按钮之后添加按钮
- 如何在提交按钮上定义登录表单的路径
- 如何在没有按钮的情况下实现显示隐藏JavaScript
- 如何在插入按钮时使其自身加载函数
- 在最后按钮之前禁止提交表单-避免编辑页面
- 如何在提交按钮上触发模态&重定向Rails
- 在同一按钮中显示/隐藏标记
- 想要清除文本框+聚焦文本框+阻止asp.net在同一按钮上回发
- JQuery-防止表单在输入按钮上提交,out防止按键敲击
- 防止在后退按钮上进行hashchange
- Qualtrics-在“目录”按钮下方添加页脚
- jQuery在正常按钮上验证表单(不提交)
- 在asp按钮控件上运行C#和Javascript函数
- 如何在单个按钮中从单独的文件夹上传多个图像
- 工具提示在提交按钮上不起作用