I struggled with this for a while as well. If you're creating a LinkElement, it's best to use interactionManager.applyLink. Here's a snippet of what I used to dynamically create a link.
// linkURL & linkText defined from TextInputs elsewhere // editor = TextArea interactionManager = editor.textFlow.interactionManager as EditManager; ... // here we use absoluteStart & absoluteEnd // instead of anchorPosition & activePosition, // b/c if the user selected 'backwards' these will not be in the right order var _selStart:int = interactionManager.absoluteStart; var _selFinish:int = interactionManager.absoluteEnd; var _selState:SelectionState = new SelectionState(editor.textFlow, _selStart, _selFinish); // create link element var linkElement:LinkElement = interactionManager.applyLink(linkURL, "_blank", true, _selState); var linkElementSpan:SpanElement = linkElement.getFirstLeaf() as SpanElement; linkElementSpan.text = linkText; // position cursor after the (possibly modified) link text interactionManager.selectRange(_selFinish,_selFinish); Keep in mind this is a simplistic example, and will only work if you're not selecting across spans with other formatting, or across list elements, etc -- in which case you'll have to "cut out" the selected text, then "insert" it back in to remove all the formatting and containers, then create the LinkElement around that text. But this should get you started. I recommend looking at interactionManager.cutTextScrap() and interactionManager.insertText(). _______________________________________________________________________ Joseph Balderson, Flex & Flash Platform Developer :: http://joeflash.ca Author, Professional Flex 3 :: http://tinyurl.com/proflex3book Scott Matheson wrote: > Hi > I am trying to dynamical add spanElement to the last paragraph of a text > flow, I just can not see how this works i know this is work but.. > > ta is the textArea that the text flow is to be added too. > > > var paragraph1:ParagraphElement = new ParagraphElement(); > > var span1:SpanElement = new SpanElement(); > > var linkWrapper:LinkElement = new LinkElement(); > > var leaf:SpanElement = new SpanElement(); // caculate the last > paragrah in the text flow > > leaf = SpanElement(ta.textFlow.get.getLastLeaf()); // i was hopping > this would get a link tit he textArea > > var p:ParagraphElement = leaf.getParagraph(); > > span1.text = "some text"; > > linkWrapper.addChild(span1) > > p.addChild(linkWrapper); > > > ________________________________ > > Disclaimer: This electronic mail and any attachments are confidential and may > be privileged. If you are not the intended recipient, please notify the > sender immediately by replying to this email, and destroy all copies of this > email and any attachments. Thank you. >
