Regardless of whether you are using multiple TextFormat objects or htmlText,
using getTextFormat(begin, end), the textFormat will have the appropriate
url.
This is a quick dirty test. Glad I could help out. I'm posting the code for
my test in case anyone else finds it useful.

One thing to note!
If text in a textfield does not fill the text field, a error can appear. In
my code below you can see that error. A link on the bottom line will
register when the cursor is in empty space below the link, but not directly
over it. The x property of the mouse is triggering the rollover. Maybe
someone else can explain this issue better.


AS3 - Timeline code

var txt:TextField = new TextField ();
txt.width = txt.height = 150;
txt.multiline = true;
txt.wordWrap = true;
txt.htmlText = "when registered, all <a href=\"www.google.com\">links</a> in
text fields will update <a href=\"www.theflashblog.com\">the status bar.</a>
hahahahah"
txt.border = true;
txt.x = txt.y = 100;
addChild(txt);

addEventListener (Event.ENTER_FRAME, captureEnterFrame)

function captureEnterFrame (e:Event):void {
    var index = txt.getCharIndexAtPoint (txt.mouseX, txt.mouseY);
    var url = "";
    if (index >= 0) {
        var fmt:TextFormat = txt.getTextFormat (index, index + 1);
        if (fmt.url) url = fmt.url;
    }
    if (url) {
        displayTooltip(url, new Point (mouseX, mouseY));
    } else {
        removeTooltip();
    }
}

function displayTooltip(url:String, pos:Point):void {
    if (getChildByName("ToolTip")) return;
    var tf:TextField = new TextField ();
    tf.name = "ToolTip";
    tf.autoSize = "left";
    tf.text = url;
    tf.background = true; tf.border = true;
    tf.backgroundColor = 0x00AAAAFF;
    tf.x = pos.x + 5;
    tf.y = pos.y + 15;
    addChild(tf);

}
function removeTooltip ():void {
    var t:TextField = getChildByName("ToolTip") as TextField;
    if (t) removeChild(t);
}

On Tue, Jun 15, 2010 at 9:06 AM, Karim Beyrouti <ka...@kurst.co.uk> wrote:

> The HREF link is only part the the textfields content, and each textfield
> can have more than one link amongst other copy
> and need to show relevant tooltip only when user is hovering over the 'a
> HREF' parts of the html textfield.
>
> On 15 Jun 2010, at 13:49, Glen Pike wrote:
>
> > Why not use the mouse coordinates?
> >
> > On 15/06/2010 13:24, Karim Beyrouti wrote:
> >> Hi All -
> >>
> >> Wondering if there are any hacks to trigger a 'RollOver' script when
> hovering over a 'a href' link in an html textfield.
> >> Currently using TextEvent.LINK,to trigger links - but would like to show
> a tooltip on rollover (of that part of text).
> >>
> >> So far the only solution i can think of is using :
> TextField.getCharIndexAtPoint(x:Number, y:Number)
> >> create this  - but it seems like this could be quite long winded
> solution.
> >>
> >> Any other ways of achieving this?
> >>
> >>
> >> Thanks
> >>
> >>
> >>
> >> Karim _______________________________________________
> >> Flashcoders mailing list
> >> Flashcoders@chattyfig.figleaf.com
> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >>
> >>
> >>
> >
> > _______________________________________________
> > Flashcoders mailing list
> > Flashcoders@chattyfig.figleaf.com
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
>
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to