如何确定引导崩溃是打开还是关闭?

Posted

技术标签:

【中文标题】如何确定引导崩溃是打开还是关闭?【英文标题】:How to determine if a bootstrap collapse is opening or closing? 【发布时间】:2016-01-10 14:19:36 【问题描述】:

如果我有引导折叠,我如何从点击事件中确定折叠是打开还是关闭?

这是我的点击事件,还是有更好的方法来使用点击事件?

$(document).on("click", "a.register-student-link", function() 
    // do some stuff to check if opening or closing

<div>
  <a id=@space.EventId class="register-student-link" data-toggle="collapse" href=@spaceIdWith aria-expanded="false" aria-controls="collapseExample">
                                                    Register Student
                                                </a>
</div>

【问题讨论】:

【参考方案1】:

Bootstrap 使用 aria-expanded 属性来显示区域是否折叠的真假。

var isExpanded = $(collapsableRegion).attr("aria-expanded");

【讨论】:

对于任何努力让它工作的人;确保在 html 中将 aria-expanded 属性初始化为 truefalse 这可能是真的,并且可能对您有所帮助,看到这个答案是由 OP 做出的。但是,如果我通读问题本身(我也有),这根本无法回答。下面的答案(带有showed.bs.collapse)就像一个魅力并回答了“如何确定崩溃事件”的真正问题。我认为应该将其标记为正确答案。【参考方案2】:

试试:

$('#collapseDiv').on('shown.bs.collapse', function () 
   console.log("Opened")
);

$('#collapseDiv').on('hidden.bs.collapse', function () 
   console.log("Closed")
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<div>
  <a id=@space.EventId class="register-student-link" data-toggle="collapse" href="#collapseDiv" aria-expanded="false" aria-controls="collapseExample">Register Student</a>
</div>

<div class="collapse" id="collapseDiv">This is the collapsible content!</div>

(基于https://***.com/a/18147817/2033574(提到凯文)和http://www.bootply.com/73101)

【讨论】:

【参考方案3】:

我需要一种方法来确定元素在实际折叠之前是否已折叠。而事件监听器仅在之后触发。

//Will return true if uncollapsed
$('#collapseDiv').hasClass('in');

//Will return true if in the process of collapsing
$('#collapseDiv').hasClass('collapsing');

//Will return true if collapsed
$('#collapseDiv').hasClass('collapse');

【讨论】:

【参考方案4】:

您可以观看活动hidden.bs.collapse

见小提琴:http://jsfiddle.net/kyeuvx1d/

【讨论】:

bootstrap collapse 没有这个 这是另一个类似答案的帖子:***.com/questions/18147338/…【参考方案5】:
if(!$("#id").hasClass('show'))
    alert("Uncollapsed");

else 
    alert("Collapsed");

对于引导程序 4

【讨论】:

以上是关于如何确定引导崩溃是打开还是关闭?的主要内容,如果未能解决你的问题,请参考以下文章

确定应用程序是打开还是关闭 (iOS)

如何确定Android应用程序是不是被强制关闭?

引导多个模态问题必须一个接一个地打开关闭

如何使用数据关闭来关闭引导面板?

如何计算崩溃的“成本”? [关闭]

关闭并重新打开应用程序时Android崩溃