在JavaScript 中模擬滑鼠懸停:澄清差異並實現手動控制
嘗試在Chrome 中模擬滑鼠懸停事件時,您可能遇到了一個有趣的問題問題。儘管“mouseover”事件監聽器已成功激活,但相應的CSS“hover”聲明並未生效。此外,嘗試在滑鼠懸停偵聽器中使用 classList.add("hover") 修改元素的類別清單也無法觸發所需的 CSS 變更。
關鍵在於理解可信事件和不可信事件之間的差異。根據瀏覽器的安全協議,源自使用者互動或 DOM 修改的某些事件被視為可信,而由 JavaScript 發起的事件則被歸類為不可信。懸停事件屬於後者。
由於其不受信任的性質,懸停事件無法直接觸發預定的 CSS 操作。這是一種保護措施,旨在防止惡意腳本修改頁面行為的關鍵方面。
因此,要使用 JavaScript 實作所需的懸停效果,需要另一種方法。當滑鼠懸停和滑鼠懸停事件發生時,您可以手動新增和刪除自訂類別(例如「懸停」),而不是依賴本機懸停事件。這將使您能夠自行控制與「懸停」狀態相關的 CSS 變更。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3