单击调用history.pushState()的链接时防止Chrome中的光标发生变化
可能的重复:
防止 Chrome 中链接点击时光标发生变化
点击链接 时光标发生变化在 Chrome(不是 Safari 或 Firefox)中,调用 History.pushState() 会将光标从指针更改为箭头。这种行为可以预防吗?
示例:
任何人希望光标在单击链接后保持为指针的唯一原因是该链接实际上并未加载另一个页面,而是触发了 JS 事件。
<a href="test">Test</a>
// JQuery
$("a").click(function(event) { event.preventDefault(); }
使用上面的代码,event.preventDefault(或返回 false)将允许光标在单击后保持指针状态。这足以满足大多数用途,即触发 DOM 操作和/或 AJAX 请求。
问题在于history.pushState():
// JQuery
$("a").click(function(event) {
history.pushState(arg1, arg2, "/path");
event.preventDefault(); return false;
}
这里指针确实变成了箭头。关于如何阻止这种情况发生有什么想法吗?
Possible Duplicate:
Preventing cursor change on link click in Chrome
Clicking on a link in Chrome (not Safari or Firefox) that results in a call to history.pushState() changes the cursor from pointer to arrow. Can this behavior be prevented?
Example:
The only reason anyone would want the cursor to remain as a pointer after clicking on a link is if the link does not actually load another page but rather fires a JS event instead.
<a href="test">Test</a>
// JQuery
$("a").click(function(event) { event.preventDefault(); }
With the above code, event.preventDefault (or returning false) will allow the cursor to remain a pointer after click. This will suffice for most uses, namely triggering a DOM manipulation and/or AJAX request.
The problem is with history.pushState():
// JQuery
$("a").click(function(event) {
history.pushState(arg1, arg2, "/path");
event.preventDefault(); return false;
}
Here the pointer DOES change to an arrow. Any ideas on how to stop that from happening?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你有没有尝试过一些CSS:
Have you tried some CSS: