可以通过设置元素的pointer-events属性设置为none,来实现元素不可点击。
此方法是通过设置元素的鼠标事件失效来实现元素不可点击。
pointer-events: none;
CSS pointer-events 属性定义元素是否对指针事件做出反应。
示例:
<!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),那么当点击子元素时,还是会通过事件冒泡的形式出发父元素的事件。