我有一个嵌入在HTML页面中的Flash电影,该电影在电影顶部的图层中有一个DIV。 Flash影片根据影片上的鼠标位置滚动。当鼠标悬停在DIV上时,客户端希望滚动停止。我尝试过使用mouseLeave事件,但这不是由DIV触发的。
当鼠标悬停在DIV上时,Flash影片有没有办法检测?
Flash电影是使用Flash CS4和AS3开发的。
这是DIV标签:
<div style="position:absolute;top:0;left:0;width:1024;background:#fff;font-size:24px;z-order:2">
some text
</div>
答案 0 :(得分:2)
MOUSE_LEAVE事件不起作用,因为即使鼠标位于div上方,它仍然在SWF的边界区域内。您必须在Flash中使用ExternalInterface来注册一个可用于javascript的函数,然后当鼠标悬停在div上时调用它。 Flash功能会关闭滚动。
在Flash中:
import flash.external.ExternalInterface;
function stopScrolling() {
// stop scrolling
}
ExternalInterface.addCallback('stopFlashScrolling', stopScrolling);
在Javascript中:
document.getElementById('theDiv').onmouseover = function(e) {
MySWF.stopFlashScrolling();
}
MySWF是SWF的ID。
答案 1 :(得分:1)
Flash影片(一般情况下)始终具有最高的z-index。您是否尝试过添加:
<param name="wmode" value="transparent">
你的嵌入代码?