Avatar billede flash_newbie Nybegynder
26. januar 2006 - 09:25 Der er 7 kommentarer og
2 løsninger

Selection forsvinder !

Hej jeg har en problem jeg sidder og kæmper med en html editor, og mit problem er at når man har selectet en bid text og trykker på den knap som skal afvikle de funktion som indsættet html tags rundt omkring den valgt text bid, så bliver det selectet, unselectet inden funktionen bliver afviklet, for det virker hvis man afvikler funktionen ved hjælp af "on (rollOver)" istedet for "on (release)" så mit spørgsmål er hvordan kan man fast låse selectionen så den bliver bi beholdt selv om at der bliver trykket på musknappen.

min kode ser sådan her ud hvis det kan hjælpe :

function doBold():Void {
    var startIndex:Number = Selection.getBeginIndex();
    var endIndex:Number = Selection.getEndIndex();
    var stringToBold:String =          output_txt.text.substring(startIndex, endIndex);
    output_txt.replaceText(endIndex , endIndex, '</b>');
    output_txt.replaceText(startIndex , startIndex, '<b>');
}

b_btn.onRelease = function(){doBold("bold");}
i_btn.onRelease = function(){doItal("doItal");}
Avatar billede webblaster Nybegynder
26. januar 2006 - 10:05 #1
function selectText() {
    Selection.setFocus("_root.output_txt.text");
    Selection.setSelection(startIndex, endIndex)
   
}

jeg har prøvet med denne funktion og den fanger godt nok selectionen, men doBold funktionen bliver ikke afviklet !!
Avatar billede webblaster Nybegynder
26. januar 2006 - 10:08 #2
men jeg prøver vider *S*
Avatar billede webt Nybegynder
26. januar 2006 - 13:07 #3
Hejsa,, måske ikke den bedste løsning men sådan her har jeg tidligere gjort

når rollOver kaldes funktion der gemmer selection index sådan her:
_root.sel_begin = Selection.getBeginIndex();
_root.sel_end = Selection.getEndIndex();

ligeledes har jeg en funktion til at lave fokus som ser sådan her ud:
Selection.setFocus(_root.textFelt);
Selection.setSelection(sel_begin, sel_end);

Den funktion kalder jeg så i den funktion som fx skal lave teksten fed så fokus sættes inden andet udføres

Håber det giver mening

Mvh
Martin
Avatar billede webblaster Nybegynder
26. januar 2006 - 14:13 #4
Den Sidste funktion som webt skrev kan undværes. Man skriver det så webt skrev på knapperne og for ikke at skulle have for mange funktioner så også sætter to tag variabler ind:

on(rollOver){
_root.sel_begin = Selection.getBeginIndex();
_root.sel_end = Selection.getEndIndex();
_root.tag_begin = "<b>";
_root.tag_end = "</b>;

}
så kan resten af koden se sådan her ud :

var sel_begin;
var sel_end;
var tag_begin;
var tag_end

b_btn.onRelease = function(){doTag("doTag");}
i_btn.onRelease = function(){doTag("doTag");}
u_btn.onRelease = function(){doTag("doTag");}


output_txt.multiline = true;
output_txt.wordWrap = true;
output_txt.border = true;
output_txt.type = "input";
output_txt.text = "Enter your text here";
output_txt.borderColor = 0xBED86E;

    function doTag():Void {
    var stringToItal:String = output_txt.text.substring(sel_begin, sel_end);
    output_txt.replaceText(sel_end , sel_end, tag_end);
    output_txt.replaceText(sel_begin , sel_begin, tag_begin);
    _root.htmlmode.htmlen.text = output_txt.text;
    }
Avatar billede flash_newbie Nybegynder
26. januar 2006 - 14:29 #5
Det er Kanon ;) smid et svar begge to så får i points

Jeg har dog et lille side spørsgmål hvordan får man det før selected til at blive unselected igen når funktionen er kørt og få cursoren til at stå for enden at det før selected?
Avatar billede webt Nybegynder
26. januar 2006 - 14:56 #6
Ja men her er et svar :) glad for at kunne hjælpe

Jeg ved ikke lige med dit sidespørgsmål, hos mig (i mit gamle script) står den automatisk efter det valgte bagefter og så vidt jeg kan se har jeg ikke gjort noget for at få den til det..... men ellers må det vel være noget med at lave en setSelection fra sel_end+dit tags bredde til sel_end+tags bredde igen, uden overhovedet at have testet det

Mvh
Martin
Avatar billede nikolajdu Nybegynder
26. januar 2006 - 16:08 #7
b_btn.onRelease = i_btn.onRelease = u_btn.onRelease = doTag;

:))
Avatar billede webblaster Nybegynder
26. januar 2006 - 20:04 #8
Her ser så et svar! jeg kan lige som webt heller ikke lige komme med et til svar på dit side spørgsmål desværre :)
Avatar billede flash_newbie Nybegynder
26. januar 2006 - 20:06 #9
Det er bare iorden :O)og i skal have mange tak for jeres hjælp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester