自定义detls、summary控件的点击范围
目前,使用
和 标签创建树形结构时,整个行的点击都会触发折叠或展开操作。为了仅当点击最前面的图标时才触发此操作,可以进行以下调整:
- 在summary中添加额外的标签:在标签中,添加一个额外的标签来包裹图标。
- 阻止的默认行为:使用,为设置event-default属性为none,以阻止其默认单击行为(在web中通常触发折叠/展开)。
- 提高图标的层级:将的z-index值设置为大于的z-index值,这样在点击图标时,就不会受到的影响。
最终代码如下:
.tree summary::before { position: relative; z-index: 2; cursor: pointer; } .tree summary span::before { content: ''; position: absolute; left: 0; right: 0; height: 46px; }
登录后复制
tree.addEventListener('click', function(ev) { if (ev.target.tagName === 'SPAN') { ev.preventDefault(); } });
登录后复制
通过这些调整,现在只能点击行最前面的图标来触发折叠/展开操作,而不会受点击整行影响。
以上就是如何仅通过点击图标来控制“和“的折叠和展开?的详细内容,更多请关注GTHOST其它相关文章!