我有一個花式的Apple鼠標,可以檢測手指動作,如「滑動」和「滾動」。mouseover/mouseenter滾動時未觸發
離開固定在屏幕上的光標,但使用我的手指向下我的網頁,光標(雖然固定的)自然移過不同元件滾動,因爲元素正在自己。
我的問題是,當這樣做時,適當的mouseover/mouseenter回調不會被調用,當他的鼠標光標直接在他們上面。
我該如何解決這個問題?
我有一個花式的Apple鼠標,可以檢測手指動作,如「滑動」和「滾動」。mouseover/mouseenter滾動時未觸發
離開固定在屏幕上的光標,但使用我的手指向下我的網頁,光標(雖然固定的)自然移過不同元件滾動,因爲元素正在自己。
我的問題是,當這樣做時,適當的mouseover/mouseenter回調不會被調用,當他的鼠標光標直接在他們上面。
我該如何解決這個問題?
我使用的大多數瀏覽器在頁面滾動時不會觸發鼠標事件。您可以嘗試聆聽onscroll
事件,並使用document.elementFromPoint
來確定當事件觸發時,鼠標光標下方移動的元素。
可能重複的火災事件!但不是Chrome ... – Randomblue
@Randomblue截至2015年10月,這是大多數瀏覽器廠商的慣例,爲了優化滾動性能。 – pilau
但是,如果鼠標事件未被觸發,我們如何獲得elementFromPoint的鼠標光標座標?答案並不完整。 – Matthew
我不認爲你可以......缺少一個運行在定時器上的函數來檢查鼠標對元素的位置,但是性能受到影響至少是天文數字。可能應該向瀏覽器製造商提交一個錯誤報告,並檢查其他瀏覽器,看看是否複製了該行爲 - 我猜測這將是因爲如果鼠標沒有物理移動,不認爲任何瀏覽器都會觸發mouseover/mouseenter事件。
http://stackoverflow.com/q/3341183/901048 – Blazemonger