点击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;
}
这里指针变为箭头。关于如何阻止这种情况发生的任何想法?
答案 0 :(得分:2)
这听起来像是一个CSS问题。查找以下代码:
::-webkit-any-link:hover,
::-webkit-any-link:active { cursor: pointer; }
这会影响所有链接(例如a[href]
),但仅限于WebKit。也许其他东西阻止了Safari这样做。
更新已解决的问题:
现在我们对这个问题有了更多的了解,即点击一个元素后光标会变回一个指针触发一个javascript,我会说这是一个Chrome bug。
提交报告答案 1 :(得分:1)
您可以显式设置目标元素的CSS以包含 -
#element {
cursor: pointer;
}
如果您必须支持IE 5.5,请参阅http://www.quirksmode.org/css/cursor.html#note。
答案 2 :(得分:0)
与此同时,我正在考虑这种绝望的解决方法: