Flex 让TextArea 中的 Link 显示html tooltip

控件是

<mx:TextArea id="myTextArea" height="147" mouseMove="mOver(event)" editable="false" width="197" />

 

Custom Tooltip:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" implements="mx.core.IToolTip" color="#FFFFFF" width="182" height="216" fontSize="12" xmlns:ns1="*" verticalScrollPolicy="off" horizontalScrollPolicy="off" styleName="BoardFloat" mouseEnabled="false" >
   
    <mx:Script>
        <![CDATA[
            import mx.controls.ToolTip;
            import mx.controls.Label;
            import mx.utils.ObjectProxy;
            import mx.controls.Text;
            private var mContentText:Text;
            private var mTitleLabel:Label;
           
            public var _text:String;

            public function get text():String {
                return _text;
            }
            public function set text(value:String):void {
                setTipText(value);
            }
           
            public function setTipText(desc:String):void
            {
                if(mContentText==null)
                {
                    mContentText=new Text();
                    mContentText.x=10;
                    mContentText.y=32;
                    mContentText.width=162;
                    mContentText.setStyle("letterSpacing","1");
                    addChild(mContentText);
                }
                mContentText.htmlText=desc;
                validateNow();
                mContentText.validateNow();
                mContentText.height=mContentText.textHeight;
                height=mContentText.textHeight+60;
            }
        ]]>
    </mx:Script>
   
</mx:Canvas>

 

添加事件:

myTextArea.addEventListener(TextEvent.LINK, linkListener);

 

 function linkListener(evt:TextEvent):void{

        mx.managers.ToolTipManager.toolTipClass = TipClass;

        myTextArea.toolTip = "<font color=/"#ff0000/">abcd</font>";

}

 

function mOver(evt:MouseEvent):void{
                            //mx.managers.ToolTipManager.toolTipClass = ToolTip;
                            if(last_posx==0)
                            {
                                last_posx=evt.localX;
                            }
                            else{
                                if(Math.abs( evt.localX - last_posx ) >= 4){
                                    mx.managers.ToolTipManager.toolTipClass = ToolTip;
                                    myTextArea.toolTip = "";
                                          last_posx=evt.localX ;

                                     }
                                 
                            }
                            if(posy==0)
                            {
                                last_posy=evt.localY;
                            }
                            else{
                                if(Math.abs( evt.localY - last_posy ) >= 4){
                                    mx.managers.ToolTipManager.toolTipClass = ToolTip;
                                    myTextArea.toolTip = "";

                                    last_posy=evt.localY;


                                }
                                  
                            }

}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值