当在按钮上单击时,需要使用CSS的pointer-events属性来禁用其父元素的事件响应,这样工具提示就不会向上级元素传播。例如:
HTML代码:
CSS代码: .parent-element { position: relative; } .tooltip { position: absolute; display: none; /* 工具提示样式 / } .parent-element:hover .tooltip { display: block; } .parent-element.disabled { pointer-events: none; } .button-content { / 按钮内容样式 */ }
JavaScript代码: const parentElement = document.querySelector(".parent-element"); const buttonContent = document.querySelector(".button-content"); const tooltip = document.querySelector(".tooltip");
buttonContent.addEventListener("click", function(e) { parentElement.classList.add("disabled"); e.stopPropagation(); });
parentElement.addEventListener("click", function() { parentElement.classList.remove("disabled"); });
在JS代码中,当在按钮上单击时,先禁用父元素的事件响应,然后停止事件冒泡以避免工具提示向上级元素传播。当再次单击父元素时,重新启用其事件响应。