我在一个 div 中嵌入了一个 flash 电影,我在主 div 中放置了一个 javascript onclick 事件处理程序,但没有捕捉到点击,这是怎么回事?
代码:
<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>
最佳答案
我在 http://progproblems.blogspot.com/2009/08/javascript-onclick-for-flash-embeded.html 找到了这个
- 将参数
wmode
设置为transparent
。这允许包含 flash 的对象接收 javascriptonclick
。 - 使用
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>
它能满足我的需要 =)
关于flash 对象上的 javascript onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1444562/