【问题标题】:How do you capture mouse events in FF, over Shockwave Object您如何通过 Shockwave 对象在 FF 中捕获鼠标事件
【发布时间】:2010-09-08 05:06:31
【问题描述】:

如何在 Firefox 中通过 JavaScript 捕获鼠标事件、移动和单击 Shockwave Director 对象(不是 Flash)的顶部。该代码在 IE 中有效,但在 FF 中无效。

该脚本适用于 IE 和 Moz 的文档正文,但当鼠标悬停在嵌入的冲击波导向器对象上时,鼠标事件不会触发。

更新:

  function displaycoordIE(){
     window.status=event.clientX+" : " + event.clientY;
  }      
  function displaycoordNS(e){
     window.status=e.clientX+" : " + e.clientY;
  }
  function displaycoordMoz(e)
  {
      window.alert(e.clientX+" : " + e.clientY);
  }

  document.onmousemove = displaycoordIE;
  document.onmousemove = displaycoordNS;
  document.onclick = displaycoordMoz;

顺便说一句,我也尝试过使用 addEventListener 来“mousemove”。

【问题讨论】:

  • 你用的是什么代码,我没看到?
  • 我有一个相关的问题。还没有好的答案。只能“在上面贴一些东西”。当然不行。你必须做一些工作来防止事件在 dom 中上下移动。我还没想好怎么做。

标签: javascript firefox shockwave


【解决方案1】:

您还可以在 Director 中捕获鼠标事件(永远不会失败),然后使用 gotoNetPage "javascript:function('" & argument & "')" 从那里调用您的 JS 函数

ej:

on mouseDown me
   gotoNetPage "javascript:function('" & argument & "')"
end

鼠标移动检测有点棘手,因为在 lingo 中没有这样的事件,但你可以使用:

property pMouseLock

on beginsprite
   pMouseLock = _mouse.mouseLock
end
on exitFrame 
   if _mouse.mouseLock <> pMouseLock then
      gotoNetPage "javascript:function('" & argument & "')"
      pMouseLock = _mouse.mouseLock
   end if
end

问候

【讨论】:

    【解决方案2】:

    只是一个想法。

    尝试用不透明度为 0 的 div 覆盖冲击波对象,然后您可以在 div 本身上捕获事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 2023-03-19
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多