كيف يمكنك التقاط أحداث الماوس في FF، عبر كائن Shockwave

StackOverflow https://stackoverflow.com/questions/50585

  •  09-06-2019
  •  | 
  •  

سؤال

كيف يمكنك التقاط أحداث الماوس، والتحريك والنقر فوق كائن Shockwave Director (وليس الفلاش) في 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".

هل كانت مفيدة؟

المحلول

يمكنك أيضًا التقاط حدث الماوس داخل Director (وهذا لا يفشل أبدًا) ثم استدعاء وظائف JS الخاصة بك من هناك، باستخدام gotoNetPage "javascript:function('" & الوسيطة & "')"

على سبيل المثال:

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

يعتبر

نصائح أخرى

مجرد فكرة.

حاول تراكب كائن موجة الصدمة باستخدام div بدرجة عتامة 0، ثم يمكنك التقاط الأحداث على div نفسه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top