let prevDom = null;
document.addEventListener("click", function(e) {
e.preventDefault();
}, false);
document.body.style.cursor = "default !important";
document.addEventListener("mousemove", function(e) {
e.target.style.pointerEvents = "none";
if (prevDom !== null) {
prevDom.style.pointerEvents = "";
}
prevDom = e.target;
}, false);
<a href="/">click me!!!!</a>
<br/>
<br/>
<a href="/">no click me!!!!</a>
<br/>
<br/>
<a href="/">hahaha</a>
我正在做一个扩展,允许用户通过悬停在DOM元素上来高亮显示它们。当用户悬停时,我想禁用点击事件并保持光标处于默认状态。为此,我添加了以下代码:
document.addEventListener("click", function(e) {
e.preventDefault();
}, false);
document.body.style.cursor = "default !important";
虽然这段代码阻止了任何点击事件的触发,但它并不能阻止光标在悬停在锚标签上时变为指针。我试图通过mousemove的事件侦听器简单地禁用指针事件,但这里的问题是它在两种状态之间 Flink 。比如,在切换到默认状态之前,你会看到指针的几分之一秒。这确实妨碍了用户体验。所以我想知道是否有一种方法可以防止光标变成指针。
Click here查看示例
3条答案
按热度按时间swvgeqrz1#
使用
cursor: default !important;
,但用于a:hover
状态,如下所示。如果您需要它只应用于页面上的某些链接,请在链接上使用一个类,并在CSS规则中使用
a.yourclass:hover
。yqlxgs2m2#
在CSS中:
fwzugrvs3#
最简单的方法是为所有锚标记添加一个CSS规则,如下所示