如何进行页面滚动触发鼠标悬停事件?

And*_*rov 7 javascript jquery jersey

当鼠标由于滚动(通过滚轮或通过键盘滚动)开始悬停在元素上时,它不会在它悬停的元素上触发鼠标悬停事件(OSX上的Chrome 6).滚动时触发正确元素的鼠标悬停事件的优雅方法是什么?

use*_*621 5

老实说,这会很痛苦。你必须

  1. 确定应获得鼠标悬停处理程序的每个元素的大小和位置。
  2. 向窗口添加滚动侦听器。
  3. 在处理程序中,获取鼠标光标位置和 pageOffset。
  4. 找出光标所在的元素。
  5. 手动调用实际的鼠标悬停处理程序
  6. (如果您也想要一些鼠标移出行为,请找出光标离开了哪些元素)

如果元素是动态的,您可能需要重新计算元素的位置和大小。(将 1 移至 3 下方。)

虽然这应该适用于块级元素,但我完全不知道内联元素的解决方案。