我使用一组a
标签做tab
切换,给a标签加上href="#"
的话点击a标签总是会跳到顶部,加javascript:void(0)
的话感觉有的时候点击的反应速度变慢,偶尔会卡,请教下各位如果a
标签不加href
会有什么影响,不符语义化或者对优化什么的有啥影响吗?
大家讲道理2017-04-10 15:11:13
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;
}
怪我咯2017-04-10 15:11:13
可以不加,但有些浏览器鼠标样式就没有手势了,然后IE6下好像还有个什么问题来着,忘了·加个href="javascript:void(0);"吧
黄舟2017-04-10 15:11:13
a不加标签的话就类似于span的作用...然后不能跳转等等。你要防止跳到顶部,可以采用javascript事件传递。在a属性里面为click添加事件比如<a href="#" click="a(event)">
然后在script里面写function a(event){
event.preventDefault();
}
就好了
巴扎黑2017-04-10 15:11:13
其实 href="#"
的话可以通过 preventDefault()
方法阻止默认的链接跳转行为
如果用 jQuery, 则可以
$("#myLink").click(function () {
// Your event handlers here
return false;
});
一个 a
没有 href
也没有 tabindex
就不会被 tab 到
HTML 4 认为没有 href
(但是有 name
) 的 a
是命名锚点
HTML 5 认为没有 href
的 a
是链接占位符
(反正对浏览器来说行为都是一样的