有些時候,我們會想要把一個 div 層覆蓋在另一個 div 層上,要讓下層的 div 響應鼠標事件而上層的不響應僅僅只做內容展示。
這種時候,我們就可以用到一個 CSS 屬性:pointer-events,將其設置為 none 即可。
這個屬性很少用到,卻非常實用。省去了 js 里判斷 event.target 的各種麻煩,節省了大量的時間。
這個屬性取值如下:
pointer-events: auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit
詳細的說明在 MDN 上有:點擊這里
可惜 IE 只從 IE9 開始支持,所以各位斟酌吧。