我在某些超链接上捕获click事件,而是使用href打开一个jQuery UI对话框。我返回false以避免浏览器也这样做...
$('a.previewable').click(function(){
$('#dialog').html('<img src="'+$(this).attr('href')+'">');
$('#dialog').dialog({
title: 'Preview',
width: 350,
modal: true
});
return false;
});
它工作得很好,但点击它时链接颜色不会改变为访问过。如何告诉浏览器链接确实已被访问过?
谢谢!
答案 0 :(得分:4)
好吧,既然你做过return false
,就没有去过它。你可能做的最好的就是设计风格。
$(this).addClass('visited');
CSS
.visited {
color: purple;
}
答案 1 :(得分:2)
关于添加自定义类的这些场景很奇怪。下次刷新页面时会发生什么?您是否必须跟踪具有被访问类的所有链接并将该信息持久保存到后端,以便可以在后续请求中恢复?我认为所有这些样式都会在下一个请求中消失,因为所有逻辑都是通过JavaScript在内存,客户端完成的。浏览器通常会维护缓存并保留该信息。