Avatar billede onkel_satan Nybegynder
07. august 2007 - 02:09 Der er 2 kommentarer og
1 løsning

select() i firefox

Benytter man IE kan man bruge TextRange objektets select() metode til at markere teksten i f.eks en textbox. Men da firefox ikke understøtter TextRange objektet hvordan opnås samme funktionalitet?
Eneste jeg ved man kan kalde i FF er selectionStart() og getSelection().
Nogen der evt. kender en sidde hvor alle document.metoder() er listet ?
Avatar billede teekay Nybegynder
07. august 2007 - 10:33 #1
her er en funktion jeg bruger på mit forum, der erstatter evt. markeret tekst med noget andet tekst.. Der er både for IE og FF hvis du kikker det igennem.

Jeg kalder det bla. når der skal indsættes en vandret streg <HR> - I mit tilfælde hedder mit textarea så "message". Håber det kan bruges.

<a href="java script:void(0);" onclick="replaceText('[hr]', document.forms.postform.message); return false;">Vandret streg</a>

// Replaces the currently selected text with the passed text.
function replaceText(text, textarea)
{
    // Attempt to create a text range (IE).
    if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
    {
        var caretPos = textarea.caretPos;

        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
        caretPos.select();
    }
    // Mozilla text range replace.
    else if (typeof(textarea.selectionStart) != "undefined")
    {
        var begin = textarea.value.substr(0, textarea.selectionStart);
        var end = textarea.value.substr(textarea.selectionEnd);
        var scrollPos = textarea.scrollTop;

        textarea.value = begin + text + end;

        if (textarea.setSelectionRange)
        {
            textarea.focus();
            textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
        }
        textarea.scrollTop = scrollPos;
    }
    // Just put it on the end.
    else
    {
        textarea.value += text;
        textarea.focus(textarea.value.length - 1);
    }
}
Avatar billede onkel_satan Nybegynder
07. august 2007 - 13:16 #2
Skulle gøres med setSelectionRange(start, slut). Takker for din kode, der dukker sikkert flere ting op som din kode kan svare på.
Smid et svar for point.
Avatar billede onkel_satan Nybegynder
05. oktober 2007 - 13:14 #3
Da du ikke har smidt et svar lukker jeg altså nu :D Eller tak for hjælpen
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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