HTML - 请你说一下如何阻止a标签跳转

 难度级别:初级及以上                                 提问概率:55%


a标签的默认语义化功能就是超链接,HTML给它的定位就是与外部页面进行交流,不过也可以通过锚点功能,定位到本页面的固定id区域去。但在开发场景中,又避免不了禁用a标签的需求,那么都有哪些方式可以禁用a标签跳转呢?

首先想到的就是通过CSS属性,设置pointer-events: none;,这样就使得a标签不具备响应鼠标事件的功能,等用到跳转功能的时候再将其设置为auto属性值即可;比较常用的一种方式,是给href属性设置javascript:void(0);属性值,这样也可以使a标签失去跳转能力;还有一种方式,就是阻止点击默认行为,这个时候href属性设置为空,添加οnclick="return false;"的属性设置即可。

一般提问这道题的同时,面试官还会紧接着问你javascript:void(0);是什么意思。我们知道void是Javascript中的关键字,它表示要计算一个表达式,但并不需要有返回值。意思就是void后面的小括号内,正常情况下是可以有Javascript代码的,但这里使用0做为表达式,也就是当用户点击a标签的时候,void(0)的计算值就是0,不会发生任何事情,从而阻止了a标签的跳转。


刷题思考

    这道题很多求职者非常容易放松警惕,很自然而然的就可以回答出javascript:void(0)这个答案,因为这的确是最常用的一种方式。但前端开发发展这么多年,几乎每个问题都有多种解决方案,尤其是面试的时候,每道题都要尽量的结合多个角度去给出多个答案,这应该是我们自己对于求职这项工作最起码的要求吧。

    还有说出javascript:void(0)的含义,这虽然不是什么难点,但在回答这道题的时候,即便面试官不问,自己也应该主动说出来,这种主动性绝对会让面试官眼前一亮。


类似考点

    很多标签都有浏览器默认行为,或者是自身带有键盘事件行为,有时候我们需要阻止这种默认行为,又有时候我们需要给一些普通标签添加这种行为,面试官可能还会这么问,例如请你说一下如何给div标签添加键盘事件;例如如何取消input输入框默认的选中黑框;例如如何禁止input输入框显示用户曾经的历史记录;例如如何阻止form表单的默认跳转行为等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

经海路大白狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值