标签href属性和onclick()执行顺序及点击两次才跳转

时间:2022-11-09 16:20:00

今天写一个小demo时,发现正常点击链接不跳转,只有连续点击两次才会跳转,代码很简单,如下:

<a href=""  onclick="queryStudent()">查询</a>
因为太简单了,也因为知道onclick()的执行顺序在href之前执行,现在把href设置为“”,也就是不做任何动作,那就不应该会出问题,可是错误往往是由细节引起的,不跳转的原因就是因为这个,原因是当执行完onclick()事件之后它还会去执行href属性链接,所以把href=“”删除就可以了,或者写成href=“javascript:;”或者href=“javascript:void(0);”或者href=“#”都可以。

href=“#”和href="####"的区别在于,前者默认锚点是页面顶端,所以点击后页面会回到页面顶部,这在页面有滚动条或者比较长的时候体验不好,后者点击后则不作任何动作,页面还处于原来的位置。