禁止a标签跳转的几个方案

a标签锚点javascript
2023-09-20 16:22:15

在进行网站ajax请求的时候,用到了大量的a标签,其中有个href属性,用来跳转连接的。但是站点本身并不需要跳转,而是用onclick调用了某个函数或者方法。如此一来,防止a标签本身的行为很有必要了。

##1.使用 javascript:return fasle
本来使用javascript:return fasle的方式屏蔽了a标签的跳转,但是有个不可预料的结果,在谷歌浏览器调试没问题,但是到了火狐浏览器上。总是被重定向到一个unsafe:javascript:return false的地址。所以,劝诫各位,最好不要在href当中写javascript代码,不然在各种浏览器当中遇到不同的结果。

##2.使用错误锚点的方式
错误锚点,意思就是网页的锚点上进行错误的指向。一般而言,在网页内部使用#id来指定一个锚点,实际测试,如果href后面的#号跟上不存在的id,那么它就发生任何事情。
就像下面这样,使用两个##号,页面就不发生任何事情,而是去执行自定义的onclick方法,或指定的函数。

<a href="##" data-category=0 class="article-category" style="color: #337ab7">全部文章</a>

缺点就是点击后,url多出错误的锚点来

##3.使用style="cursor:pointer"
一般使用a标签的原因是,a标签自带可点击的颜色、并且移动上去方便变成手形。在代码的写作量上,大大降低思考成本。如果不让跳转,大可不写href属性,此时可以加上这个行内样式,让点击项变成手型。

##4.href 链接什么都不写
什么都不写的情况下,在谷歌和火狐测试通过。如下:

<a href="" data-category=0 class="article-category" style="color: #337ab7">全部文章</a>

转载注明,变饼档博客