提问人:budgiebeaks 提问时间:7/16/2023 最后编辑:isherwoodbudgiebeaks 更新时间:7/20/2023 访问量:64
如何禁用锚点指针事件,同时为锚点子级保留它们?
How can I disable anchor pointer events while keeping them for anchor children?
问:
我有一个锚元素,里面有几个子元素。需求已更改,现在锚点上可能有也可能没有链接。更改它的最简单方法是禁用锚点的点击事件,并将其保留给子(它们具有一些依赖于指针事件的功能)。
当我申请锚点父级时,一切都很好 - 链接不起作用。当我随后应用于锚定子项时,该链接将再次变为活动状态。pointer-events: none
pointer-events: auto
生成的 html 是这样的:
<a href class='no-pointer-events'>
<figure class='pointer-events-auto'></figure>
</a>
我该如何解决这个问题?
答:
1赞
Moseleyi
7/16/2023
#1
寄件人:https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
如果元素的某个子元素将指针事件显式设置为允许该子元素成为指针事件的目标,则当事件沿着父链传输时,任何针对该子元素的事件都将通过父元素,并根据需要触发父元素上的事件侦听器。
因此,如果使用指针事件设置任何子项,它将冒泡到父项。
-1赞
budgiebeaks
7/16/2023
#2
以下工作几乎按预期进行:
<a href={tab.url ? tab.url : "javascript:void(0)"} >
唯一的问题是它显示为链接,但其他方面工作正常,链接不可点击。'javascript:void(0)'
评论
1赞
Ghost
7/16/2023
我真的不认为这是基于你写的答案,但很高兴你解决了它!
1赞
budgiebeaks
7/16/2023
谢谢。这并不完全是我想要的,但这是我需要的。
评论
a