概念
a标签的默认跳转链接行为是由href来实现的,同时设置href属性可以使a标签在hover状态下以手指指示的样式显示。但实际过程中发现对a标签的href属性的不同设置,可能会导致不同的行为反馈,故想要进行几种不同的设置情况总结一下。
1.a标签中设置href属性,没有赋任何值
<a href></a>
点击a标签会刷新页面,回到顶部。
2.a标签中设置href属性,赋值href="#"
<a href='#'></a>
点击a标签后会回到页面顶部,但不刷新页面。
3.a标签中设置href属性,其中赋值使用javascript语句,另外设置onclick点击事件
<a href='javascript:viod(0)' onclick="go()"></a>
javascript:viod(0)语句控制页面不进行跳转也不进行刷新,点击之后也不会回到页面顶部,使用javascript代码阻止了href属性的默认跳转链接行为。a标签点击后会执行onclick中设定函数go()。
4.a标签中设置href属性,但赋值使用javascript语句,另外设置onclick点击事件
<a href='javascript:return false' onclick="go()"></a>
此方法与上一种方法实现效果类似,一样是href属性中执行js代码,使用return false告诉浏览器要阻止href属性的默认行为,如跳转链接,刷新页面,回到顶部等,此方法依然可执行go()函数。
5.a标签中设置href属性但不进行赋值,设置onclick点击绑定事件
<a href onclick="go()"></a>
点击a标签,会触发点击绑定事件,执行函数go()的相关操作,但同时也会由于href的设置进行页面的刷新,当执行绑定事件的操作函数,在完成之前或者执行过程中进行了页面刷新,对应的页面结果也会被重新刷新,并且回到页面顶部。