pointer-events
是CSS3的一個屬性之碗,支持的值非常多歼冰,其中大部分都是和SVG有關(guān)。對于前端日常開發(fā)而言剧腻,只要了解 none 這個值就已經(jīng)夠我們玩一段時間了拘央。
pointer-events: none;
意思就是讓鼠標(biāo)事件失效(鏈接、點擊等事件)书在。
常用場合:獲取驗證碼
給 <a> 標(biāo)簽定義一個 id=”btn”灰伟,然后通過 JS 控制 <a> 標(biāo)簽,點擊之后模擬發(fā)送驗證碼儒旬,并讓 <a> 標(biāo)簽添加一個定義好的 disable 樣式栏账。
最后設(shè)置2秒內(nèi)不能再點擊發(fā)送二維碼請求。
可以看到上圖效果栈源。
第一次點擊“發(fā)送驗證碼”按鈕挡爵,控制臺上有輸出的,點擊之后甚垦,按鈕加了 pointer-events: none;
茶鹃,然后再按就沒效果了,同時鼠標(biāo)在按鈕上也不會變成“一只手”制轰。
除次之外前计,pointer-events: none;
還可以禁止 標(biāo)簽的頁面跳轉(zhuǎn)。
注意點:
- pointer-events 的值為 none 時垃杖,如果元素上絕對定位男杈,那在它下一層的元素可以被選中。
- pointer-events: none; 只是用來禁用鼠標(biāo)的事件调俘,通過其他方式綁定的事件還是會觸發(fā)的伶棒,比如鍵盤事件等旺垒。
- 如果將一個元素的子元素 pointer-events 設(shè)置成其他值(比如:auto),那么當(dāng)點擊子元素時肤无,還是會通過事件冒泡的形式出發(fā)父元素的事件先蒋。