评论

收藏

[Html/CSS] 使用纯css禁用html中a标签无需JavaScript

开发技术 开发技术 发布于:2021-09-15 15:50 | 阅读数:555 | 评论:0

其实这个问题在初次学习html中select标签时就已经冒出来了,时至今日,依然没有找到使用纯css禁用a标签的办法——同事、同学、老师我都问过了,他们都千篇一律借助了JavaScript,难道真的必须要借助JavaScript吗?

1、纯css实现html中a标签的禁用:

代码如下:
<html> 
<head> 
<title>如何禁用a标签</title> 
<metacontent="text/html; charset=GB2312"http-equiv="Content-Type"> 
<style type="text/css"> 
body{ 
font:12px/1.5 \5B8B\4F53, Georgia, Times New Roman, serif, arial; 
} 
a{ 
text-decoration:none; 
outline:0 none; 
} 
.disableCss{ 
pointer-events:none; 
color:#afafaf; 
cursor:default 
} 
</style> 
</head> 
<body> 
<aclass="disableCss" href="https://www.baidu.com/">百度</a> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<aclass="disableCss" href="#">点击</a> 
</body> 
</html>
上面虽然使用纯css实现了对a标签的禁用,不过由于opera、ie浏览器不支持pointer-events样式,所以上面代码在这两类浏览器中起不到禁用a标签的作用。

2、借助Jquery和css实现html中a标签的禁用:

代码如下:
<html> 
<head> 
<title>02 ——借助Jquery和css实现html中a标签的禁用</title> 
<meta content="text/html; charset=GB2312" http-equiv="Content-Type"> 
<script type="text/javascript" src="./jquery-1.6.2.js"></script> 
<script type="text/javascript"> 
$(function() { 
$('.disableCss').removeAttr('href');//去掉a标签中的href属性 
$('.disableCss').removeAttr('onclick');//去掉a标签中的onclick事件 
}); 
</script> 
<style type="text/css"> 
body { 
font: 12px/1.5 \5B8B\4F53, Georgia, Times New Roman, serif, arial; 
} 
a { 
text-decoration: none; 
outline: 0 none; 
} 
.disableCss { 
color: #afafaf; 
cursor: default 
} 
</style> 
</head> 
<body> 
<a class="disableCss" href="https://www.baidu.com/">百度</a> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<a class="disableCss" href="#" >点击</a> 
</body> 
</html>
这种方式可以兼容所有浏览器,可是混用了JavaScript,这一点恐怕是致命的缺憾!!!

3、借助Jquery实现html中a标签的禁用:

代码如下:
<html> 
<head> 
<title>03 ——借助Jquery实现html中a标签的禁用</title> 
<meta content="text/html; charset=GB2312" http-equiv="Content-Type"> 
<script type="text/javascript" src="./jquery-1.6.2.js"></script> 
<script type="text/javascript"> 
$(function() { 
$('.disableCss').removeAttr('href');//去掉a标签中的href属性 
$('.disableCss').removeAttr('onclick');//去掉a标签中的onclick事件 
$(".disableCss").css("font","12px/1.5 \\5B8B\\4F53, Georgia, Times New Roman, serif, arial"); 
$(".disableCss").css("text-decoration","none"); 
$(".disableCss").css("color","#afafaf"); 
$(".disableCss").css("outline","0 none"); 
$(".disableCss").css("cursor","default"); 
}); 
</script> 
</head> 
<body> 
<a class="disableCss" href="https://www.baidu.com/">百度</a> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<a class="disableCss" href="#" >点击</a> 
</body> 
</html>
上面使用了纯Jquery实现了禁用html中a标签的功能。
关注下面的标签,发现更多相似文章