使用css屬性屏蔽鼠標(biāo)事件的方法(鼠標(biāo)點擊可穿透上層元素)

起源:前幾天測試發(fā)來一個需求,內(nèi)容要求看圖:
看到這個需求,我有點懵逼?,F(xiàn)在的情況是只有點擊日期內(nèi)容框空白區(qū)域時,才會響應(yīng)點擊事件顯示下拉日期菜單。
而這個icon圖標(biāo)我是絕對定位到日期內(nèi)容框中的,它的圖層維度是高于日期內(nèi)容框的,點擊icon圖標(biāo)時是不會響應(yīng)點擊事件的。我的第一個反應(yīng)是事件點擊穿透,但是該怎么實現(xiàn)?感覺觸碰到我一直忽視的知識盲區(qū)了。
懵逼的我一頓操作猛如虎,開啟面向谷歌編程大法…
事實證明科學(xué)上網(wǎng)很重要,谷歌精準(zhǔn) > 百度精準(zhǔn),再次吐槽百度的廣告…
為了解決被icon圖標(biāo)遮蓋住的內(nèi)容框區(qū)域也能響應(yīng)點擊事件,可以使用poniter-events
的css
屬性來實現(xiàn)。
poniter-events
屬性的值很多,但大部分和svg有關(guān)直接跳過,通用的屬性值有兩個none | auto
。
auto
:與 pointer-events
屬性未指定時的表現(xiàn)效果相同。none
:該元素永遠(yuǎn)不會成為鼠標(biāo)事件的 target
。但是,當(dāng)其后代元素的 pointer-events
屬性指定其他值時,鼠標(biāo)事件可以指向后代元素,在這種情況下,鼠標(biāo)事件將在捕獲或冒泡階觸發(fā)父元素的事件偵聽器。
再關(guān)注下poniter-events
的兼容情況:
桌面瀏覽器
IE
:11+(IE6~IE10均不支持)Firefox
:3.6+Chrome
:4.0+Safari
:6.0Opera
:15.0
移動設(shè)備瀏覽器
iOS Safari
:6.0Android Browser
:2.1+Android Chrome
:18.0+
看到這里,基本上就能解決我這次所遇到的問題了:
解決完問題,又有個新的疑惑冒了出來,除了讓鼠標(biāo)點擊穿透外層遮層外,poniter-events
還有什么常見的應(yīng)用場景么?
考慮到
none
值的作用,應(yīng)該可以取消掉事件的點擊行為。比如:使a標(biāo)簽鏈接不可點擊、避免按鈕多次點擊、表單重復(fù)提交等。除此以外,肯定還有很多其他應(yīng)用,可以通過屬性值去發(fā)掘。
總結(jié)
到此這篇關(guān)于使用css屬性屏蔽鼠標(biāo)事件(鼠標(biāo)點擊可穿透上層元素)的文章就介紹到這了,更多相關(guān)css 屬性屏蔽鼠標(biāo)事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
css屬性pointer-events實現(xiàn)點擊穿透的示例代碼
本文主要介紹了css屬性pointer-events實現(xiàn)點擊穿透的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編2023-07-19使用CSS的pointer-events屬性實現(xiàn)鼠標(biāo)穿透效果的神奇技巧
當(dāng)pointer-events的值設(shè)置為none之后,瀏覽器將不會獲得鼠標(biāo)在當(dāng)前位置的層上的點擊事件,而造成鼠標(biāo)穿透的效果!下面就來為大家展開講解一下使用CSS的pointer-events屬性實現(xiàn)2016-06-28- 本文給大家分享CSS樣式穿透的幾種方法,結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-30