我使用一组a
标签做tab
切换,给a标签加上href="#"
的话点击a标签总是会跳到顶部,加javascript:void(0)
的话感觉有的时候点击的反应速度变慢,偶尔会卡,请教下各位如果a
标签不加href
会有什么影响,不符语义化或者对优化什么的有啥影响吗?
我使用一组a
标签做tab
切换,给a标签加上href="#"
的话点击a标签总是会跳到顶部,加javascript:void(0)
的话感觉有的时候点击的反应速度变慢,偶尔会卡,请教下各位如果a
标签不加href
会有什么影响,不符语义化或者对优化什么的有啥影响吗?
a标签的href其实可写可不写,如果你想让他不跳转,方法有如下:
1.href="javascript:viod(0)";
或者href="javascript:;"
2.在其点击事件设置,如
a.onclick = function(){
return false;
}
3.归根结底的本质:为什么点击之后会跳转,因为这是a标签的默认行为,可以通过阻止他的默认行为来实现。
a.onclick = function(e){
e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
a不加标签的话就类似于span的作用...然后不能跳转等等。你要防止跳到顶部,可以采用javascript事件传递。在a属性里面为click添加事件比如<a href="#" click="a(event)">
然后在script里面写function a(event){
event.preventDefault();
}
就好了
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
其实
href="#"
的话可以通过preventDefault()
方法阻止默认的链接跳转行为如果用 jQuery, 则可以
一个
a
没有href
也没有tabindex
就不会被 tab 到HTML 4 认为没有
href
(但是有name
) 的a
是命名锚点HTML 5 认为没有
href
的a
是链接占位符(反正对浏览器来说行为都是一样的