首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次嵌套折叠调用父折叠

每次嵌套折叠调用父折叠
EN

Stack Overflow用户
提问于 2018-08-14 22:08:24
回答 1查看 1.3K关注 0票数 1

我搜索并找到了一些类似的答案--但这些都是我没有使用的手风琴。

我有嵌套的折叠项目as seen in this codepen

代码语言:javascript
复制
$('#collapseOutter').on('show.bs.collapse', function(event) {
  $('#collapseBtn').html("Show Less");
  console.log('Only happen when outter div is opened');
  event.stopPropagation();
  console.log('even with stopping propagation it fires');
})
$('#collapseOutter').on('hide.bs.collapse', function() {
  $('#collapseBtn').html("Show More");
  console.log('Only happen when outter div is collapsed');
})
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
  <div class="row ml-4">
    <div class="row header-div">
      <a id="collapseBtn" class="btn-info btn" data-toggle="collapse" href="#collapseOutter" role="button" aria-expanded="false" aria-controls="collapseOutter">
		  Show More
		</a>
    </div>
  </div>
  <div class="row ml-4">
    <div id="collapseOutter" class="collapse">
      <p>Here is a paragraph about the data you're about to see.</p>
      <div class="row">
        <div id="item-a">
          <a id="item-a" class="" data-toggle="collapse" href="#collapseInnerA">
						Item One of a list
					</a>
          <br />
          <div id="collapseInnerA" class="collapse">
            <div class="row">
              <p class="ml-4">Item One Related Information</p>
            </div>
          </div>
        </div>
      </div>
      <div class="row">
        <div id="item-b">
          <a id="item-b" class="" data-toggle="collapse" href="#collapseInnerB">
						Item Two of a list
					</a>
          <br />
          <div id="collapseInnerB" class="collapse">
            <div class="row">
              <p class="ml-4">Item Two Related Information</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

当我单击列表中的项(在第一个折叠中)时,它会导致父方法触发。

当我单击列表项以折叠/显示它们的信息时,如何防止父方法触发?

我正在寻找如何做这件事与bootstrap特别相关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-14 22:26:03

当事件到达外部折叠时,您将停止事件传播。你应该在内部崩溃时停止它。在this codepen中,第一个内部折叠的折叠事件将冒泡,而第二个内部折叠事件将停止。

代码语言:javascript
复制
$('#collapseInnerB').on('show.bs.collapse', function( event ) {
    event.stopPropagation();
})
$('#collapseInnerB').on('hide.bs.collapse', function( event ) {
    event.stopPropagation();
})
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51843456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档