一個 js 難解的問題(關於 mouseleave 觸發問題)
最近遇到一個蠻棘手的問題,假設有兩個 div A 和 B
A 疊在 B 上面,彼此沒有從屬關係,我設定了 B mouseleave 時的動作
但沒有設定 A mouseleave 時的動作,因為A 和 B 左邊還是有一點點小間隙
所以我的預想中,假設滑鼠走的是從A 的左手邊方向出去
那麼依序的路徑應該是這樣:
A --> 離開 A 同時進到 B --> 離開B
所以我預期就算走左手邊,離開B 這個事件還是會被觸發的
但經過實驗證實,如果滑鼠移動太快的時候,會只抓到 "離開A" 這個事件
"進到B" "離開B" 這兩個事件都抓不到,如果動得稍微慢一點就可以
但我又想達成 "離開B" 的效果怎麼辦呢?
我最後想出的辦法是,既然只有 "離開A" 事件可以抓得到
那我就在"離開A" 的事件處理器裏,讓他一併去觸發離開B的事件
經實驗證實是可以的
留言
張貼留言