在JavaScript 中模擬滑鼠懸停:澄清差異並實現手動控制
嘗試在Chrome 中您可能遇到了一個有趣的問題問題。儘管“mouseover”事件監聽器已成功激活,但相應的CSS“hover”聲明並未生效。此外,嘗試在滑鼠懸停偵聽器中使用 classList.add("hover") 修改元素的類別清單也無法觸發所需的 CSS 變更。
關鍵在於理解可信事件和不可信事件之間的區別。根據瀏覽器的安全協議,源自使用者互動或 DOM 修改的某些事件被視為可信,而由 JavaScript 發起的事件則被歸類為不可信。懸停事件屬於後者。
由於其不受信任的性質,懸停事件無法直接觸發預定的 CSS 操作。這是一種保護措施,旨在防止惡意腳本修改頁面行為的關鍵方面。
因此,為了使用 JavaScript 實作所需的懸停效果,需要另一種方法。當滑鼠懸停和滑鼠懸停事件發生時,您可以手動新增和刪除自訂類別(例如「懸停」),而不是依賴本機懸停事件。這將使您能夠自行控制與「懸停」狀態相關的 CSS 變更。
以上是為什麼類比滑鼠懸停在 Chrome 中不會觸發 CSS 懸停?的詳細內容。更多資訊請關注PHP中文網其他相關文章!