首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex鼠标事件不工作警报

Flex鼠标事件不工作警报
EN

Stack Overflow用户
提问于 2015-09-22 11:00:59
回答 1查看 87关注 0票数 0

我们有三个弹出式窗口

  1. Poppup1显示左侧电子邮件列表,右侧显示电子邮件内容。一个分隔框,包含一个显示电子邮件列表的数据网格和一个显示电子邮件内容重发的文本区域,“取消”按钮位于VBOX中该弹出窗口的底部。
  2. 当用户单击Popup1上的“重新发送”按钮时,popup2会显示电子邮件内容、发送和发送等内容以及底部的“发送”按钮。
  3. 当用户单击“在popup2上发送”时,会显示一个请求确认选项是或否的警报。现在问题,鼠标事件不工作此警报,但键盘事件工作。

下面是引起问题的Popup1上的两个方法。在这些中,如果注释了ExternalInterface.call,鼠标事件就会在警报上工作。有什么办法解决这个问题吗?

代码语言:javascript
复制
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来设置宽度、高度等无法显示,就会遇到这个函数的问题。

代码语言:javascript
复制
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,但仍然不工作:(

代码语言:javascript
复制
function moveHtml(top, left, width, height)
{
    htmlTextArea.style.top = 200;
    htmlTextArea.style.left = 300;
    htmlTextArea.style.width = 100;
    htmlTextArea.style.height = 200; 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-25 02:23:26

我终于解决了这个问题。它是html,div,交叠的flex文本区域,正在阻止鼠标在警报窗口上的交互。

我们有一个JSP页面,它加载swf文件,这个JSP包含一个div。在Flex屏幕上,一些电子邮件类型的flex文本区域显示电子邮件内容,而对于其他类型,flex文本区域是隐藏的,并将内容设置为div (使用div.innerHTML)。

当警报在html div之上打开时,鼠标事件在警报上不起作用。作为解决办法,我将警报移到左边,这样它就不会出现在解决问题的html文本区域之上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32715147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档