[英]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.