Chrome在鼠标抬起返回false事件后,将光标悬停在链接上时变为默认状态而不是指针。

6
我可能漏掉了一些东西,因为这个东西很奇怪。以下是代码:

$(document).ready(function() {
    $(document).mouseup(function(){
        return false;
    });
})
<a href="">qagq3gq343</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">    </script>

mouseup 事件上,它只会返回 false。但是在 Chrome 中,当悬停在链接上时,在 mouseup 事件之后,鼠标指针将变为默认状态而不是指针状态。

您可以通过运行片段,然后在片段内的链接上点击任何位置(而不是链接本身),然后将鼠标指针移动到链接上来复制此问题。

有什么想法吗?


2
@T.J.Crowder 我发现只要在页面上的其他地方点击,包括您刚刚编辑的片段中,就会出现所描述的行为。看起来确实是一个奇怪的 Chrome bug。 - James Thorpe
具体来说,它是通过阻止默认行为来实现的(而不是停止传播)。 (由于jQuery的“return false”两者都做了,因此最好澄清一下。) - T.J. Crowder
1
Catalin,你可以考虑在搜索后将此问题报告为错误(此处)。快速搜索“cancel mouseup”未找到任何相关内容,但在打开新问题之前,您需要进行更彻底的搜索。 - T.J. Crowder
我自作主张提交了这个问题,因为我也遇到了同样的情况:https://bugs.chromium.org/p/chromium/issues/detail?id=686209 - neemski
1个回答

1
似乎唯一的解决方案是使用CSS:

a, a:hover, a:active, a:visited {
  cursor: pointer !important;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接