一個 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的事件
經實驗證實是可以的



留言

熱門文章