繁体   English   中英

如何检测鼠标何时在Flash电影的HTML层上方?

[英]How to detect when mouse is over HTML layer over Flash movie?

我有一个嵌入在HTML页面中的Flash电影,该HTML页面在电影顶部的一层中具有DIV。 Flash影片根据鼠标在影片上的位置滚动。 客户端希望在鼠标悬停在DIV上时停止滚动。 我尝试使用mouseLeave事件,但这不是由DIV触发的。

有没有一种方法可以使Flash电影在鼠标悬停在DIV上时进行检测?

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>

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。

Flash电影(通常)始终具有最高的z索引。 您是否尝试添加:

<param name="wmode" value="transparent"> 

您的嵌入代码?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM