Вставить Flash-объект не будет ловить клики в Internet Explorer (несмотря на wmode) - PullRequest
1 голос
/ 22 июля 2011

Я бы хотел поймать клик с помощью javascript на встроенный flash-объект на моей странице Я использовал wmode = "opaque" (тоже пробовал прозрачный) и выставил низкий z-индекс. Я попытался поймать щелчок по элементу div, элементу object и элементу embed.
На FF (5) работают все три. В IE (7 и 8) ни один из них не работает.

Вот мой код (я удалил некоторый атрибут для flash типа или 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 после элемента object с помощью "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? Спасибо.

1 Ответ

2 голосов
/ 09 ноября 2011

Измените div, чтобы он задал задний цвет и стал прозрачным, фактически используя непрозрачность.Клик будет заключен внутри элемента div.Хорошо работает в т. Е. Chrome, FF.

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