我们有三个弹出窗口
以下是导致该问题的Popup1上的两种方法。在这些中,如果注释了ExternalInterface.call,则鼠标事件适用于Alert。任何想法如何解决这个问题?
private function onCreationComplete( event:Event ):void
{
positionHandler(event);
changeHandler(event);
this.addEventListener(ResizeEvent.RESIZE, positionHandler);
this.addEventListener(MoveEvent.MOVE, positionHandler);
this.parent.addEventListener(ResizeEvent.RESIZE, positionHandler);
txtMsgDesc.addEventListener(MoveEvent.MOVE, positionHandler);
}
private function positionHandler(event:Event):void
{
var position:Point = new Point(txtMsgDesc.x + this.borderMetrics.left + 10, txtMsgDesc.y + this.borderMetrics.top);
position = this.localToGlobal(position);
position = Application.application.globalToLocal(position);
var width:int = txtMsgDesc.width;
var height:int = txtMsgDesc.height;
ExternalInterface.call("moveHtml", position.y, position.x, width-5, height-5);
}
并且外部接口调用调用javascription来设置宽度,高度等。无法计算,使用此函数来解决问题。
function moveHtml(top, left, width, height)
{
htmlTextArea.style.top = parseFloat(top);
htmlTextArea.style.left = parseFloat (left);
htmlTextArea.style.width = parseFloat (width);
htmlTextArea.style.height = parseFloat (height);
}
在javascript函数中,如果我对值进行硬编码,它的工作原理如下 我怀疑parseFloat存在一些问题,并试图检查值是否不是isNaN但仍然不起作用:(
function moveHtml(top, left, width, height)
{
htmlTextArea.style.top = 200;
htmlTextArea.style.left = 300;
htmlTextArea.style.width = 100;
htmlTextArea.style.height = 200;
}
答案 0 :(得分:0)
最后我发现了这个问题。这是html div重叠弹性文本区域阻止警报窗口上的鼠标交互。
我们有一个加载swf文件的JSP页面,这个JSP包含一个div。 在Flex屏幕上,电子邮件内容显示在某些电子邮件类型的弹性文本区域,对于其他类型,隐藏了flex文本区域并将内容设置为div(使用div.innerHTML)。
当警报在html div上打开时,鼠标事件对警报不起作用。作为一种解决方法,我将警报移至左侧,以便它不会出现在修复问题的html文本区域之上。