访问链接后,Firefox 有选择地跳过状态更改或 a:visited 样式

2024-03-27

单击具有常见 href 的链接(本地页面或网站)后 并且href加载成功,FF2和IE7都会显示 带有 a:visited 样式的链接。

对于带有 href="javascript:anyfunc()" 的链接,IE7 的工作方式如上 而 FF2 不显示 a:visited 样式。没有任何变化 文档类型。

问:JS 链接和 :visited 的行为是否被认为是正确的?

问:FF2 点击 JS 链接后锚点状态是否保持不变?

问:无需附加 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 钩子,我会使用诸如 a 之类的元素<button>并相应地设置样式...记得添加cursor: pointer所以最终用户知道它是可点击的.

使用内联javascript:function(something)在 href 中是不好的做法。尝试不引人注目的事件处理程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问链接后,Firefox 有选择地跳过状态更改或 a:visited 样式 的相关文章