如何在点击事件中调用preventDefault后存储标记访问状态?

时间:2012-07-31 19:57:16

标签: jquery html javascript-events

我的页面中有几个标签。点击每个结果打开弹出对话框,显示有关博客帖子的详细信息(防止标签默认行为,例如:让它访问)。所以我想做的是在显示弹出对话框后手动访问标签的状态。

我的代码看起来像这样:

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

你可以这样做......

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

然后,在你的CSS中,你只需要根据你的实际CSS做...... a:visited, a.visited或其他内容。

答案 1 :(得分:0)

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

一旦链接在其历史记录中,浏览器就会为:visited伪类提供帮助。如果您在运行时使用散列历史记录hack 兼容的URL替换了链接,则可以支持旧版浏览器。做一些谷歌搜索,已经有很多StackOverflow问题,如果你不知道我在说什么。

祝你好运!