首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RichEditableText中图像元素的工具提示

RichEditableText中图像元素的工具提示
EN

Stack Overflow用户
提问于 2011-08-20 10:02:41
回答 1查看 706关注 0票数 0

我有以下几点:

代码语言:javascript
复制
<s:RichEditableText>        
    <s:textFlow>
        <s:TextFlow>
             <s:p><s:a click="linkelement1_clickHandler(event);"><s:img id="ccIMG" source="{imgCls}"></s:img></s:a></s:p>
       </s:TextFlow>
    </s:textFlow>
</s:RichEditableText>

我想在img元素上显示一个工具提示--还没弄明白--有人想过吗?

谢谢!

mce

EN

回答 1

Stack Overflow用户

发布于 2011-08-21 06:19:27

您面临的问题是,图像不会像显示列表上的其他元素那样调度常规事件。更准确地说,它不会调度MOUSE_OVER或ROLL_OVER事件以供您侦听和显示工具提示。

因此,您必须在整个RichEditableText上侦听这些事件,并进行一些点击测试,以检测鼠标是否在图像上。

假设你有一些这样的文本流:

代码语言:javascript
复制
<s:RichEditableText width="100%" height="100%" mouseOver="toggleTooltip()">
    <s:textFlow>
        <s:TextFlow>
            <s:p>
                <s:span>Some text before</s:span>
                <s:img id="myImg" source="myImg.png" />
                <s:span>Some text after</s:span>
            </s:p>
        </s:TextFlow>
    </s:textFlow>
</s:RichEditableText>

然后监听整个textcomponent上的mouseOver事件。

然后,要测试鼠标是否在图像上,请实现mouseOver处理程序:

代码语言:javascript
复制
private function toggleTooltip():void {
    var graphic:DisplayObject = myImg.graphic;
    var anchor:Point = graphic.localToGlobal(new Point(0, 0));

    if (mouseX >= anchor.x && mouseX <= anchor.x + graphic.width &&
        mouseY >= anchor.y && mouseY <= anchor.y + graphic.height) 
    {
        trace('show tooltip');
    }
    else {
        trace('hide tooltip');
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7129126

复制
相关文章

相似问题

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