我正在开发一个javascript工具,它将click eventListener应用于span以打开工具提示。只有当某个切换设置为true
时,单击才会真正起作用。如果切换设置为false
,则单击不会起任何作用。然而,当切换打开并且span已经是<a>
-标记的一部分时,span基本上有2个单击行为。当切换设置为true
时,我如何临时禁用链接单击?
以下是我目前拥有的。
<a href="#">Some <span class="tooltip">text</span></a>
function createTooltips() {
const spanElements = document.querySelectorAll(".tooltip");
spanElements.forEach((spanElement) => {
spanElement.addEventListener("click", openToolTip);
}
function openToolTip() {
if (toggledOn == true) {
...open the tooltip...
} else {
return
}
}
function setToggle() {
...
}
我在这里找到了一些完全删除单击的解决方案。我还尝试对span应用pointer-events: none;
样式,但这将禁用我自己应用的单击事件侦听器。
1条答案
按热度按时间wa7juj8i1#
在锚点上添加一个事件监听器来检查切换标志。如果工具提示被切换到打开状态,使用
Event.preventDefault()
来阻止点击链接。