
如何控制 detls、summary 的点击范围,只允许图标触发?
在使用
和 创建树形结构时,默认情况下点击整行都会触发展开或关闭。为了只允许点击行最前面的图标才能触发,需要进行一些自定义。
解决方案:
- 在 中添加一个额外的 元素,并在该元素上阻止默认行为。
- 为展开图标的元素设置一个更高的层级,使其不受阻止默认行为的影响。
具体代码如下:
:
.tree summary::before {
position: relative;
z-index: 2;
cursor: pointer;
}
.tree summary span::before {
content: '';
position: absolute;
left: 0;
right: 0;
height: 46px;
}
登录后复制
javascript:
tree.addEventListener('click', function(ev) {
if (ev.target.tagName === 'SPAN') {
ev.preventDefault();
}
});
登录后复制
示例:
[点击查看示例](https://codepen.io/xboxyan/pen/poqzorw)
通过这些修改,现在只有点击行最前面的图标才会触发显示或隐藏,而点击行其他部分不会触发。
以上就是如何让 “ 和 “ 仅通过图标触发展开和收起?的详细内容,更多请关注米云其它相关文章!
