可以通过设置元素的pointer-events属性设置为none,来实现元素不可点击。
此方法是通过设置元素的鼠标事件失效来实现元素不可点击。
pointer-events: none;
CSS pointer-events 属性定义元素是否对指针事件做出反应。
| 属性值 | 描述 | 
|---|---|
| auto | 默认值。元素对指针事件做出反应,比如 :hover 和 click。 | 
| none | 元素不对指针事件做出反应。 | 
| initial | 将此属性设置为其默认值。参阅 initial。 | 
| inherit | 从其父元素继承此属性。参阅 inherit。 | 
示例:
<!DOCTYPE html>
<html>
<head>
<style> 
div.ex1 {
  pointer-events: none;
}
 
div.ex2 {
  pointer-events: auto;
}
</style>
</head>
<body>
 
<h1>pointer-events 属性</h1>
 
<p>请把鼠标指针移至下面的链接,查看是否对指针事件做出反应:</p>
 
<h2>pointer-events: none:</h2>
<div class="ex1">访问 <a href="https://www.w3school.com.cn/html/">HTML 教程</a></div>
 
<h2>pointer-events: auto(默认)</h2>
<div class="ex2">访问 <a href="https://www.w3school.com.cn/css/">CSS 教程</a></div>
 
</body>
</html>
注意:
- pointer-events 的值为 none 时,如果元素上绝对定位,那在它下一层的元素可以被选中。
- pointer-events: none; 只是用来禁用鼠标的事件,通过其他方式绑定的事件还是会触发的,比如键盘事件等。
- 如果将一个元素的子元素 pointer-events 设置成其他值(比如:auto),那么当点击子元素时,还是会通过事件冒泡的形式出发父元素的事件。

