单击具有常见 href 的链接(本地页面或网站)后 并且href加载成功,FF2和IE7都会显示 带有 a:visited 样式的链接。
对于带有 href="javascript:anyfunc()"的链接,IE7 的工作方式如上 而 FF2 不显示 a:visited 样式。没有任何变化 文档类型。
问:JS 链接和 :visited 的行为是否正确?
问:FF2点击JS链接后 anchor 状态是否保持不变?
问:无需附加 onClick 处理程序或修改类/样式 使用JS,有没有一种简洁的方法告诉FF2使用:visted 样式独立于 href 是另一个页面还是 JS 链接?
示例如下:
<html>
<head>
<style>
div.links { font-size: 18px; }
div.links a { color: black; text-decoration: none; }
div.links a:visited { background-color: purple; color: yellow; }
div.links a:hover { background-color: yellow; color: black; }
</style>
<script>
function tfunc(info) { alert("tfunc: info = " + info) }
</script>
</head>
<body>
<div class="links">
<a href="javascript:tfunc(10)">JS Link 1</a><br>
<a href="javascript:tfunc(20)">JS Link 2</a><br>
<a href="http://www.google.com/">Common href, google</a>
</div>
</body>
</html>
最佳答案
对这些类型的链接进行样式设计会很困难...虽然它们可能具有相同的 href,但它们可能通过 JS 执行任何操作(这可能会使访问它看起来不会)。
有没有办法链接到 HTML 页面等内容并将事件处理程序附加到链接(并返回 false 以阻止链接点击)?如果链接实际上是 JS 钩子(Hook),我会使用诸如 <button>
之类的元素。并相应地设置样式...记住添加 cursor: pointer
所以最终用户知道它是可点击的。
使用内联 javascript:function(something)
在 href 中是不好的做法。尝试不引人注目的事件处理程序。
关于javascript - 访问链接后,Firefox 有选择地跳过状态更改或 :visited styling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/779722/