這篇文章介紹的是透過純CSS實作禁止滑鼠點擊事件,比起Javascript來更靈活,有需要的可以參考學習。
JavaScript有一個preventDefault方法, 他可用以來取消事件的預設動作。例如取消開啟鏈接,選擇文字或拖放等。
event.preventDefault()
該方法將通知 Web 瀏覽器不要執行與事件關聯的預設動作(如果存在這樣的動作)。例如,如果 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不支援。
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
以上是關於CSS實作禁止滑鼠點擊事件的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!