Как вы захватываете события мыши в FF, над Shockwave Object

Как захватить события мыши, переместить и щелкнуть поверх объекта Shockwave Director (не flash) в Firefox через JavaScript. Код работает в 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".

2 ответа

Решение

Вы также можете перехватить событие мыши внутри Director (которое никогда не завершится с ошибкой), а затем вызвать ваши JS-функции оттуда, используя gotoNetPage "javascript:function('" & arguments & "')"

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

С уважением

Просто идея.

Попробуйте наложить объект Shockwave на div с непрозрачностью 0, тогда вы сможете захватывать события на самом div.

Другие вопросы по тегам