Bartj3
%Europe/Berlin %706 %2009, 16:57
ik wil een soort van teksteditor maken in flash, waarbij mensen zelf een tekst in kunnen voeren en die kunnen opmaken.
ik heb dit stukje script geschreven:
var selectedText = txt_textbox.text.slice(Selection.getBeginIndex(),S election.getEndIndex());
var beforeSelectedText = txt_textbox.text.slice(0,Selection.getBeginIndex() );
var afterSelectedText = txt_textbox.text.slice(Selection.getEndIndex());
trace ("selected: " + selectedText);
trace ("before: " + beforeSelectedText);
trace ("after: " + afterSelectedText);
txt_textbox.htmlText = beforeSelectedText + "<b>" + selectedText + "</b>" + afterSelectedText;
txt_textbox is het veld waar de tekst in getyped kan worden, als je een deel selecteert en dan op een knop drukt word het bovenstaande stukje code uitgevoerd. Dit werkt, maar bij het slicen gaat wel de html verloren, dus het werkt de eerste keer, maar als je daarna een ander deel van de tekst selecteert en op wilt maken gaat het eerste stukje opgemaakte tekst weer terug naar normaal.
Ik neem aan dat dat is omdat ik met selected tekst werk, en dan echt alleen de tekst word gebruikt, en dus niet de onderliggende opmaak. Maar ik krijg het niet voor elkaar, zou iemand mij kunnen vertellen waar het mis gaat?
edit:
ik zal waarschijnlijk ook met htmlText moeten werken ipv met text, maar als ik dat probeer word het helemaal een rommel, de html code word dan teruggeplakt in de tekstbox zonder het naar html te verwerken en het stuk tekst wat selected zou zijn klopt ook niet meer.
ik heb dit stukje script geschreven:
var selectedText = txt_textbox.text.slice(Selection.getBeginIndex(),S election.getEndIndex());
var beforeSelectedText = txt_textbox.text.slice(0,Selection.getBeginIndex() );
var afterSelectedText = txt_textbox.text.slice(Selection.getEndIndex());
trace ("selected: " + selectedText);
trace ("before: " + beforeSelectedText);
trace ("after: " + afterSelectedText);
txt_textbox.htmlText = beforeSelectedText + "<b>" + selectedText + "</b>" + afterSelectedText;
txt_textbox is het veld waar de tekst in getyped kan worden, als je een deel selecteert en dan op een knop drukt word het bovenstaande stukje code uitgevoerd. Dit werkt, maar bij het slicen gaat wel de html verloren, dus het werkt de eerste keer, maar als je daarna een ander deel van de tekst selecteert en op wilt maken gaat het eerste stukje opgemaakte tekst weer terug naar normaal.
Ik neem aan dat dat is omdat ik met selected tekst werk, en dan echt alleen de tekst word gebruikt, en dus niet de onderliggende opmaak. Maar ik krijg het niet voor elkaar, zou iemand mij kunnen vertellen waar het mis gaat?
edit:
ik zal waarschijnlijk ook met htmlText moeten werken ipv met text, maar als ik dat probeer word het helemaal een rommel, de html code word dan teruggeplakt in de tekstbox zonder het naar html te verwerken en het stuk tekst wat selected zou zijn klopt ook niet meer.