我有這個用戶可以點擊的按鈕,但是在某些情況下,應用程序也會觸發點擊事件。但是,如果應用程序處於脫機狀態,則會將類添加到主體中,並且應該禁用該按鈕。在這種情況下,它看起來像這樣:使用指針事件防止程序性點擊
<body class="is-offline">
<button>Click me</button>
<script>
$('button').click(function() {
...
});
</script>
</body>
與下面的CSS
.is-offline button {
...
pointer-events: none;
}
到目前爲止,它的工作原理,但正如我所說,該應用可以觸發點擊過
$('button').trigger('click');
與pointer-events: none
trigger
做一個點擊並忽略pointer-events
設置。 DEMO
是否有一些簡單的方法可以解決這個問題,而無需檢查特定樣式/類的DOM元素,還是需要通過我的應用程序傳播離線狀態?
我看來像你實現在CSS功能,而你應該做的是,在Javascript或在服務器端。爲什麼不在所有元素上調用'.off()'來解除事件? – Midas
我同意w/@Midas,試圖通過CSS來做到這一點絕對是混合外觀和功能。最好在點擊函數中添加一個檢查,以檢查應用是否處於脫機狀態(如果應用可以在不刷新頁面的情況下動態恢復聯機狀態,則更好),或者Midas建議將它們全部解除綁定(如果應用在頁面刷新前一直處於脫機狀態)。 – JeffreyPia