如何通过Shockwave Object捕获FF中的鼠标事件

时间:2020-03-05 18:49:38  来源:igfitidea点击:

如何捕获鼠标事件,如何通过JavaScript在Firefox中移动Shockwave Director对象(而不是Flash)并单击其上方。该代码在IE中有效,但在FF中不起作用。

该脚本可在IE和Moz的文档正文上使用,但是当鼠标悬停在嵌入的Shockwave Director对象上时,不会触发鼠标事件。

更新:

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"。

解决方案

回答

只是一个主意。

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

回答

我们还可以在Director中捕获鼠标事件(这不会失败),然后使用gotoNetPage" javascript:function('"&&parameter&"')"从那里调用JS函数。

ej:

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

鼠标移动检测有点棘手,因为在行话中没有这样的事件,但是我们可以使用:

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

问候