[Javascript] حدث جافاسكريبت أونكليك فوق كائن الفلاش


Answers

لقد وجدت هذا على http://progproblems.blogspot.com/2009/08/javascript-onclick-for-flash-embeded.html

  1. تعيين wmode المعلمة إلى transparent . يسمح هذا الكائن الذي يحتوي على الفلاش باستلام جافاسكريبت عند onclick .
  2. استخدام onmousedown إنستيد من onclick . على الرغم من استخدام wmode transparent ، بعض المتصفحات لا تزال متجهة إلى onclick ، لكنها لا تدعو onmousedown .

تبدو الشفرة كما يلي:

<div onmousedown="clickBanner(1)">
<object>
<param name="movie" value="3.swf">
<param name="wmode" value="transparent" />
<embed wmode=transparent allowfullscreen="true" allowscriptaccess="always" src="3.swf"></embed>
</object>
</div>

انها تعمل لاحتياجاتي =)

Question

لدي واحد تضمين فيلم فلاش داخل واحد ديف، وأنا وضعت واحدة معالج جافاسكريبت أونكليك الحدث في ديف الرئيسي، ولكن لا يمسك النقر، ما هو الخطأ؟

الشفرة:

   <div id="top-box-player" onclick="alert('Hi Bananas!');">
     <object width="400" height="300">
        <param name="movie" value="general.swf">
        <embed src="./swf/general.swf" width="400" height="300">
        </embed>
     </object>
   </div>



قم بإجراء حدث أونكليك على علامة الكائن. (أوبيكت العلامة يدعم أحداث الماوس). ثم الاستيلاء على ديف الأم عبر دوم.




فإن الكائن فلاش قبض دائما على النقر ولا تمرير تلقائيا على طول. سيكون لديك لبناء تلك الوظيفة - الصيد أونكليك في فلاش وندعو جس وظيفة.

ماذا تحاول تحقيقه؟




كان لي هذه المشكلة عندما حاولت جعل لافتات ديناميكية وضع ديناميكية. إذا تم ضبط سوف على وضع 'أوباكيكولور'، ثم لم يكن لدي أي نقرات مقبولة - وكان لي لاستخدام أوباكيكولور لأن بعض لافتات عابثت مع الألوان المواقع. الحل الذي عثرت عليه هو تعيين صندوق سوف على وضع "شفاف" في <ديف> من z-إندكس: 10، ووضعه أسفل <ديف> من نفس أبعاد ملف سوف، مليئة أوباكولور من صندوق الرعاية اإلجتماعية. ينقسم كلاهما إلى علامة <a>. هذا مشغول.

Example:
    <a href="www.mysite.com">
    <div id="SWF_file_container" style="width:100px; height:40px; z-index:10;">
    <object> .... </object> (adding SWF in TRANSPARENT MODE)
    </div>
    <div id="opaquecolor_of_swf" style="width:100px; height:40px; z-index:2; background-color:#ff0000;"></div>
    </a>