Как вы фиксируете события мыши в FF над объектом ударной волны

#javascript #firefox #shockwave

Вопрос:

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

Комментарии:

1. Какой код вы используете, я его не вижу?

2. У меня есть связанный с этим вопрос. Пока нет хорошего ответа. Только «приклей что-нибудь поверх этого». Конечно, не работает. Вы должны проделать некоторую работу, чтобы предотвратить перемещение событий вверх и вниз по dom. Я еще не придумал, как это сделать.

Ответ №1:

Вы также можете перехватить событие мыши в директоре (которое никогда не завершается неудачно), а затем вызвать оттуда свои функции JS, используя gotoNetPage «javascript:функция(‘» amp; аргумент amp; «‘)»

эй джей:

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

Обнаружение перемещения мыши немного сложнее, так как в жаргоне такого события нет, но вы можете использовать:

 property pMouseLock

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

с уважением

Ответ №2:

Просто идея.

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