基于特定点击限制可折叠项目保持折叠状态

哈尔巴利

我有可折叠的锚标记(data_1),单击它时会在折叠和展开 div 元素之间切换,如下所示 -

<a href="#href1" class="list-group-item"
data-toggle="collapse" aria-expanded="false"> 
<i class="glyphicon glyphicon-folder-close"></i>
data_1
<span id="id_2" class="glyphicon glyphicon-eye-open">
</span>
</a>
<div class="list-group collapse" id="href1">
   <a href="#href2">data_2</a> 
   <a href="#href2">data_3</a> 
</div>

它按预期工作。但是我想添加一些其他功能,以便当我单击可折叠锚标记内的span 元素 ( glyphicon-eye-open ) 时,必须调用一个 javascript 方法。

我知道通过在 span 元素中添加 onclick = function1() 可以解决问题,但它也可以扩展可折叠锚标记。我不希望仅在单击 span 元素时扩展锚元素。我如何实现这一目标?任何帮助,将不胜感激。

JS小提琴:https : //jsfiddle.net/joshirohit66/v81gofLq/11/

window.clickme = function() {
  alert("clicked span but not anchor");
  return false;
}
.list-group.list-group-root {
  padding: 0;
  overflow: hidden;
}

.list-group.list-group-root .list-group {
  margin-bottom: 0;
}

.list-group.list-group-root .list-group-item {
  border-radius: 0;
  border-width: 1px 0 0 0;
}

.list-group.list-group-root>.list-group-item:first-child {
  border-top-width: 0;
}

.list-group.list-group-root>.list-group>.list-group-item {
  padding-left: 30px;
}

.list-group.list-group-root>.list-group>.list-group>.list-group-item {
  padding-left: 45px;
}

.list-group-item .glyphicon {
  margin-right: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

<div class="list-group list-group-root well">

  <a href="#href1" class="list-group-item" data-toggle="collapse" aria-expanded="false">
    <i class="glyphicon glyphicon-folder-close"></i> data_1
    <span id="id_2" class="glyphicon glyphicon-eye-open" onclick="return clickme();">
      </span>
  </a>
  <div class="list-group collapse" id="href1">

    <a href="#item-1-1" class="list-group-item" data-toggle="collapse">
      <i class="glyphicon glyphicon-chevron-right"></i>Item 1.1
    </a>

    <a href="#item-1-2" class="list-group-item" data-toggle="collapse">
      <i class="glyphicon glyphicon-chevron-right"></i>Item 1.2
    </a>

  </div>
</div>

塔普拉

我在 javascript 中添加了一条评论,以显示如何/在何处停止传播。

$('.list-group-item .glyphicon').on('click', function (e) {
  //stop the propagation of the click on the icon(s)
  e.stopPropagation();
  console.log('clicked span but not anchor');
});
.list-group.list-group-root {
  padding: 0;
  overflow: hidden;
}

.list-group.list-group-root .list-group {
  margin-bottom: 0;
}

.list-group.list-group-root .list-group-item {
  border-radius: 0;
  border-width: 1px 0 0 0;
}

.list-group.list-group-root>.list-group-item:first-child {
  border-top-width: 0;
}

.list-group.list-group-root>.list-group>.list-group-item {
  padding-left: 30px;
}

.list-group.list-group-root>.list-group>.list-group>.list-group-item {
  padding-left: 45px;
}

.list-group-item .glyphicon {
  margin-right: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

<div class="list-group list-group-root well">

  <a href="#href1" class="list-group-item" data-toggle="collapse" aria-expanded="false">
    <i class="glyphicon glyphicon-folder-close"></i> data_1
    <span id="id_2" class="glyphicon glyphicon-eye-open">
      </span>
  </a>
  <div class="list-group collapse" id="href1">

    <a href="#item-1-1" class="list-group-item" data-toggle="collapse">
      <i class="glyphicon glyphicon-chevron-right"></i>Item 1.1
    </a>

    <a href="#item-1-2" class="list-group-item" data-toggle="collapse">
      <i class="glyphicon glyphicon-chevron-right"></i>Item 1.2
    </a>

  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何限制可折叠项保持展开状态,除非我单击其他可折叠项以展开,而不单击可折叠项本身

来自分类Dev

回发后使可折叠Div保持打开状态

来自分类Dev

使jQuery可折叠菜单栏保持展开状态

来自分类Dev

如何保持可折叠物品的位置?

来自分类Dev

引导程序模板-保持可折叠面板处于打开状态

来自分类Dev

HTML/Javascript/CSS 可折叠菜单在刷新时不会保持关闭状态

来自分类Dev

允许可折叠标题内的点击事件

来自分类Dev

Html 可折叠不会在点击时展开

来自分类Dev

当另一个打开时,如何使纯HTML-&-CSS可折叠面板保持打开状态?

来自分类Dev

jQuery可折叠UL

来自分类Dev

可折叠设置面板

来自分类Dev

可折叠面板

来自分类Dev

可折叠与可穿越

来自分类Dev

动画可折叠

来自分类Dev

创建可折叠的div

来自分类Dev

jQuery可折叠UL

来自分类Dev

可折叠的tableview错误

来自分类Dev

可折叠设置面板

来自分类Dev

可折叠条目

来自分类Dev

可折叠div与CSS

来自分类Dev

复制可折叠树

来自分类Dev

UWP 可折叠页眉

来自分类Dev

Boostrap 3折叠-基于折叠状态的链接图标

来自分类Dev

Boostrap 3折叠-基于折叠状态的链接图标

来自分类Dev

激活后保持可折叠图标显示

来自分类Dev

React.js:可折叠菜单不会返回原始状态

来自分类Dev

Bootstrap可折叠Navbar不会折叠

来自分类Dev

可折叠的工具栏不折叠

来自分类Dev

当一个内部部分折叠时,折叠内部部分保持未折叠状态