最简单的办法,是给所有点击过的link元素,增加一个属性,比如
var links = document.getElementsByTagName('a');
for(var i =0; i < links.length; i ++){
var link = links[i];
link.onclick = function(){this.isVisited = true;};
}
让这段在页面完成加载后执行。
然后就可以判断link是否有isVisited属性,是否为true里判断是否被点击过了。
var links = document.getElementsByTagName('a');
for(var i =0; i < links.length; i ++){
var link = links[i];
link.onclick = function(){this.isVisited = true;};
}
让这段在页面完成加载后执行。
然后就可以判断link是否有isVisited属性,是否为true里判断是否被点击过了。
解决方案 »
- javascript头像问题
- 请问JS里如何获取<input type="file">里的文本路径和JS里如何设置img标签里的 src的路径了?
- JS异或的问题?
- 提交表单的问题
- 日期格式化为星期格式
- 在填表单的时候,如何在“页面”提示显示信息?
- 如何检测输入的字符里面必须有英文字母
- window.opener.changeLocation();
- 这里有javascript的群吗?我想加入,有谁知道加我了,分全部给他
- SOS SOS 请问:如何作到从一个页面进入到一个页面后自动关闭该页面同时打开新的页面?
- dhCode Web开发资源包发布
- fireEvent 和 addEventListener 区别?
我也想要那个效果 关注中
2.然後判斷他的isVisited 屬性即可
例如在处理函数中将点击过的地址放入一个列表中,然后再点击时检查这个列表是不是有这个链接。
资源占用可以不用考虑,现在客户端的性能都很好的,而且页面上也不会有1000个链接吧,毕竟不是网易。
document.onclick = function(e){
var e = e || event;
var element = e.target || e.srcElement;
if(element.tagName.toLowerCase() == "a"){
element.isVisited = true;
}
}
这样在页面链接量比较大的时候,也不会有什么影响。
放入列表中,肯定不是好的方法,因为每次检查的时候,都需要遍历。
而JS的数组遍历效率是很低的。