3

我的页面中有几个标签。单击每个结果都会打开一个弹出对话框,显示有关博客文章的详细信息(防止标签默认行为,例如:使其被访问)。所以我想做的是在显示弹出对话框设置访问状态之后手动标记。

我的代码看起来像这样:

   $("a.news-part").click(function(e){
        //do popup
        e.preventDefault();
        //here i wanna store a tag visited state.
   });

非常感谢任何帮助。

4

2 回答 2

2

你可以做这样的事情......

$("a.news-part").click(function(e){
        //do popup
        e.preventDefault();
        $(this).addClass('visited')
   });

然后,在您的 CSS 中,您只需要a:visited, a.visited按照您的实际 CSS 执行...或类似的操作。

于 2012-07-31T20:03:23.890 回答
0

除了其他建议的解决方案之外,您还可以history.pushState在现代浏览器上使用。但是,我还没有测试这是否真的会将链接标记为已访问。

:visited一旦链接出现在其历史记录中,浏览器就会分配伪类。如果您在运行时将链接替换为哈希历史黑客兼容的 URL,则可以支持旧版浏览器。做一点谷歌搜索,已经有很多关于 StackOverflow 的问题,以防你不知道我在说什么。

祝你好运!

于 2012-07-31T20:12:55.083 回答