方法:給按鈕元素添加“pointer-events:none;”樣式來讓按鈕元素永遠(yuǎn)不會(huì)成為鼠標(biāo)事件的target,讓其點(diǎn)擊事件失效,即可控制按鈕不可用。
本教程操作環(huán)境:windows7系統(tǒng)、css3&&html5版、Dell G3電腦。
(學(xué)習(xí)視頻分享:css視頻教程)
在HTML中我們可以直接通過HTML的disabled或readonly屬性實(shí)現(xiàn)按鈕不可點(diǎn)擊;而在css中,可以使用pointer-events屬性實(shí)現(xiàn)點(diǎn)擊事件失效。
我們可以為按鈕添加“pointer-events:none”兩種css樣式實(shí)現(xiàn)按鈕不可點(diǎn)擊。
pointer-events屬性除了指示該元素不是鼠標(biāo)事件的目標(biāo)之外,值none表示鼠標(biāo)事件“穿透”該元素并且指定該元素“下面”的任何東西。實(shí)現(xiàn)按鈕上的點(diǎn)擊事件失效。
示例:CSS讓按鈕不可用
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> button { opacity: 0.5; /*設(shè)置蒙版效果*/ pointer-events: none; /*禁止鼠標(biāo)事件*/ } </style> </head> <body> <button>php中文網(wǎng)</button> </body> </html>
說明:
設(shè)置pointer-events:none樣式的元素永遠(yuǎn)不會(huì)成為鼠標(biāo)事件的target。但是,當(dāng)其后代元素的pointer-events屬性指定其他值時(shí),鼠標(biāo)事件可以指向后代元素,在這種情況下,鼠標(biāo)事件將在捕獲或冒泡階段觸發(fā)父元素的事件偵聽器。
使用pointer-events來阻止元素成為鼠標(biāo)事件目標(biāo)不一定意味著元素上的事件偵聽器永不會(huì)觸發(fā)。如果元素后代明確指定了pointer-events屬性并允許其成為鼠標(biāo)事件的目標(biāo),那么指向該元素的任何事件在事件傳播過程中都將通過父元素,并以適當(dāng)?shù)姆绞接|發(fā)其上的事件偵聽器。當(dāng)然位于屏幕上在父元素上但不在后代元素上的鼠標(biāo)活動(dòng)都不會(huì)被父元素和后代元素捕獲(將會(huì)穿過父元素而指向位于其下面的元素)。