阻止Chrome中的链接点击更改光标

时间:2011-07-05 07:27:07

标签: javascript css google-chrome cursor

点击Chrome(不是Safari或Firefox)中的链接会将光标从指针更改为箭头。可以防止这种行为吗?即,点击后仍然可以使用指针,但是当光标仍悬停在链接上时?

编辑:好的,所以我做了一些测试。首先,任何人都希望光标在点击链接后保持为指针的唯一原因是,如果链接实际上没有加载另一个页面而是激发JS事件。

<a href="test">Test</a>

// JQuery
$("a").click(function(event) { event.preventDefault(); }

使用上面的代码,event.preventDefault(或返回false)将允许光标在单击后保持指针。这足以满足大多数用途,即触发DOM操作和/或AJAX请求。

问题在于history.pushState():

<a href="test">Test</a>

// JQuery
$("a").click(function(event) {
    history.pushState(arg1, arg2, url);
    event.preventDefault(); return false;
}

这里指针变为箭头。关于如何阻止这种情况发生的任何想法?

3 个答案:

答案 0 :(得分:2)

这听起来像是一个CSS问题。查找以下代码:

::-webkit-any-link:hover,
::-webkit-any-link:active { cursor: pointer; }

这会影响所有链接(例如a[href]),但仅限于WebKit。也许其他东西阻止了Safari这样做。

更新已解决的问题:

现在我们对这个问题有了更多的了解,即点击一个元素后光标会变回一个指针触发一个javascript,我会说这是一个Chrome bug。

请在http://bugs.chromium.org/

提交报告

答案 1 :(得分:1)

您可以显式设置目标元素的CSS以包含 -

#element {
    cursor: pointer;
}


如果您必须支持IE 5.5,请参阅http://www.quirksmode.org/css/cursor.html#note

答案 2 :(得分:0)

与此同时,我正在考虑这种绝望的解决方法:

  1. 浏览器检测Chrome
  2. 申请this tutorial