You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UIkit Accordion组件:如何让accordion-title内部的链接可正常点击?

解决方法

你可以通过以下两种方案实现需求:

方案1:给内部链接添加事件阻止冒泡(最推荐)

不需要修改原有手风琴的初始化配置,只需要阻止链接的点击事件冒泡到上层的.uk-accordion-title元素即可,这样点击链接时不会触发展开折叠逻辑,只会执行链接本身的跳转行为。
你可以直接给链接加行内事件:

<div class="uk-accordion" data-uk-accordion>
    <div class="uk-accordion-title">
       <h3><a href="#" onclick="event.stopPropagation()">Title</a></h3>
       <div>something else</div>
    </div>
    <div class="uk-accordion-content">...</div>    
</div>

如果标题内有多个链接,也可以用JS批量绑定:

document.querySelectorAll('.uk-accordion-title a').forEach(link => {
  link.addEventListener('click', e => e.stopPropagation())
})

方案2:指定手风琴的触发目标元素

你也可以直接修改UIkit手风琴的触发区域配置,通过target参数指定只有特定元素才能触发展开折叠逻辑,避免整个标题区域都作为触发区。
示例如下,给需要触发折叠的元素单独加accordion-trigger类,再绑定到配置中:

<div class="uk-accordion" data-uk-accordion="target: .accordion-trigger">
    <div class="uk-accordion-title">
       <h3>
         <!-- 链接不加触发类,点击不会触发折叠 -->
         <a href="#">Title</a>
         <!-- 其他区域加触发类,点击触发折叠 -->
         <span class="accordion-trigger" style="margin-left: 10px;">展开/折叠</span>
       </h3>
       <div class="accordion-trigger">something else</div>
    </div>
    <div class="uk-accordion-content">...</div>    
</div>

内容的提问来源于stack exchange,提问作者shenkwen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:06:03