如何通过Flash影片检测鼠标何时覆盖HTML图层?

时间:2010-01-13 01:35:13

标签: html flash actionscript-3 actionscript mouse

我有一个嵌入在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>

2 个答案:

答案 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"> 

你的嵌入代码?