【问题标题】:How to determine if mousepointer is over an element that should trigger onMouseOver?如何确定鼠标指针是否在应该触发 MouseOver 的元素上?
【发布时间】:2011-09-26 18:59:28
【问题描述】:

我正在尝试模仿 bing 视频搜索预览功能。我有一个在页面加载时加载的 Flash 视频播放器元素。我还有多个包含在覆盖 div 中的图像,这些图像应该触发播放(div 中的 onMouseOver 事件),并将 Flash 播放器移动到 div 位置。

我有两个与鼠标指针所在位置有关的问题:

  • onMouseOver 事件被触发时,我在<img /> 上执行$(element).css("visibility","hidden");,并将Flash 播放器移动到完全相同的位置。这可以正常工作,除了onMouseOut 事件被立即触发,然后onMouseOver 事件再次导致视频在重新加载视频时“闪烁”。如何确保错误触发的 onMouseOut 事件确实不正确(而不是停止/开始视频播放)?

  • 如果鼠标指针在页面加载时(在加载 Flash 播放器之前)带有预览图像的 div 上方,则永远不会为此元素触发 onMouseOver 事件 - 我该怎么做?加载 Flash 时,它会触发回调 - 但我真的不知道如何准确模仿 onMouseOver 事件?与其他问题相比,这不是一个问题,但如果可以修复它会很酷

【问题讨论】:

  • 您能否发布一个 html/javascript 示例。哪个mouseout 被解雇了?图片、视频或其中一个或两者的某个父级的那个?
  • $('element').hover(function(){ MOUSE IN }, function(){ MOUSE OUT });

标签: javascript jquery css flash


【解决方案1】:
  1. 请改用 mouseenter() 和 mouseleave()。
  2. flash 加载时重新初始化 mouseenter 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 2011-09-08
    • 2023-02-10
    • 2023-02-24
    • 1970-01-01
    • 2021-11-10
    相关资源
    最近更新 更多