[英]MouseLeave Event on Safari Mac is triggered under wrong conditions
根據
https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseleave_event
當指針退出元素及其所有后代時觸發 mouseleave。
但是,在 Safari 上,一旦鼠標進入元素並在其中移動,就會觸發此事件。 我創造了一個小提琴
document.getElementById('out').addEventListener('mouseleave', () => console.log('left'));
.outer { width: 100px; height: 100px; background-color: green; } .inner { width: 50px; height: 50px; background-color: red; }
<div class="outer" id="out"> <div class="inner"> </div> </div>
https://jsfiddle.net/hs5ea7cq/
document.getElementById('out').addEventListener('mouseleave', () => console.log('left'));
在 Chrome 上,Mac 上的 FireFox 可以正常工作。 但是,Safari 會發出 mouseleave,即使它不應該發出。
我可以做些什么來在 Safari 中獲得與在 Chrome 或 FireFox 中相同的行為嗎?
編輯:
我創建了一個顯示問題的 GIF:
這似乎與 TigerVNC 的使用有關。 切換到 UltraVNC 解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.