關於CSS實現禁止滑鼠點擊事件的代碼

來源:互聯網
上載者:User
這篇文章介紹的是通過純CSS實現禁止滑鼠點擊事件,比起Javascript來更加靈活,有需要的可以參考學習。

JavaScript有一個preventDefault方法, 他可用以來取消事件的預設動作。比如取消開啟連結,選擇文本或拖放等。

event.preventDefault()

該方法將通知 網頁瀏覽器不要執行與事件關聯的預設動作(如果存在這樣的動作)。例如,如果 type 屬性是 “submit”,在事件傳播的任意階段可以調用任意的事件控制代碼,通過調用該方法,可以阻止提交表單。注意,如果 Event 對象的 cancelable 屬性是 fasle,那麼就沒有預設動作,或者不能阻止預設動作。無論哪種情況,調用該方法都沒有作用。

這種方法可以阻止當前元素的瀏覽器預設行為,但並不阻止事件被父級及document響應。如果想徹底取消事件,則可使用stopPropagation

event.stopPropagation()

該方法將停止事件的傳播,阻止它被指派到其他 Document 節點。在事件傳播的任何階段都可以調用它。注意,雖然該方法不能阻止同一個 Document 節點上的其他事件控制代碼被調用,但是它可以阻止把事件指派到其他節點。

這兩種是在JS中的常用取消事件的方法,但是其實還有一種用純css就能實現取消事件響應的方法,pointer-events,使用起來更加簡單,它可以:

1、阻止使用者的點擊動作產生任何效果

2、阻止預設滑鼠指標的顯示

3、阻止CSS裡的hover和active狀態的變化觸發事件

4、阻止JavaScript點擊動作觸發的事件

比如以下CSS就順起到將禁用的按鈕灰掉的效果

.disabled {    pointer-events: none;    cursor: default;    opacity: 0.6;}

這種方法明顯比js代碼更加靈活,可惜ie9不支援。

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.