【问题标题】:Embed Flash object won't catch click on Internet Explorer (despite the wmode)嵌入 Flash 对象不会捕获 Internet Explorer 上的点击(尽管有 wmode)
【发布时间】:2011-10-10 22:53:06
【问题描述】:

我想在我的页面上的嵌入 Flash 对象上使用 javascript 捕获点击。我使用了 wmode="opaque" (也尝试过透明)并设置了较低的 z-index。我尝试在 div、object 元素和 embed 元素上点击。
在 FF (5) 上,它们三个都起作用。在 IE(7 和 8)上,它们都不起作用。

这是我的代码(我删除了 Flash 的一些属性,例如 type 或 classid):

<div onclick="javascript:alert('div.click');" style="z-index:10;">
    <object onclick="javascript:alert('object.click');" style="z-index:1;">
        <param value="flash.swf" name="movie">
        <param value="opaque" name="wmode">
        <embed onclick="javascript:alert('embed.click');" wmode="opaque" src="flash.swf">
    </object>
</div>

第二种解决方案

A 还尝试将 div 放在带有“top:-100px;”的对象元素之后在闪光灯上处于领先地位。在 IE 中,如果 div 是纯色(如 bg-color:red),则它可以工作,但如果它具有透明背景,则不能:

<object onclick="javascript:alert('object.click');" style="z-index:1;">
    <param value="flash.swf" name="movie">
    <param value="opaque" name="wmode">
    <embed onclick="javascript:alert('embed.click');" wmode="opaque" src="flash.swf">
</object>
<div onclick="javascript:alert('div.click');" style="height:100px; top:-100px; position:relative; background-color:Transparent; z-index:10;">
</div>
  • 我是否有机会让它与 Internet Explorer 一起使用?谢谢。

【问题讨论】:

    标签: javascript html css flash embed


    【解决方案1】:

    修改 div 使其具有背景颜色设置和透明实际上使用不透明度。点击将在 div 元素内进行。在 ie、chrome、ff 中运行良好。

    background-color: white;
    opacity: 0;
    -moz-opacity: 0;
    filter: alpha(opacity = 0);
    

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 2012-07-25
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多