Ralf: getSelection() im Firefox

Hallo Forum,

ich benutze eine Javascript-Funktion, die den aktuell markierten Text einer textarea ausliest, verändert und zurückschreibt.

Um an den markierten Text zu kommen, gibt es abhängig vom Browser 3 Möglichkeiten:

window.getSelection()
document.getSelection
document.selection.createRange().text

Leider funktioniert keiner dieser Möglichkeiten mit Firefox 0.9.1

Hat jemand eine Lösung parat?

  1. Hallo,

    ich benutze eine Javascript-Funktion, die den aktuell markierten Text einer textarea ausliest, verändert und zurückschreibt.

    Um an den markierten Text zu kommen, gibt es abhängig vom Browser 3 Möglichkeiten:

    window.getSelection()
    document.getSelection
    document.selection.createRange().text

    Leider funktioniert keiner dieser Möglichkeiten mit Firefox 0.9.1

    4. Möglichkeit (ab Gecko 1.4):

    selectionStart
    selectionEnd

    function mozillaWrap(strFieldName, strLeft, strRight)
    {
    var selLength  = strFieldName.textLength;
    var selStart   = strFieldName.selectionStart;
    var selEnd     = strFieldName.selectionEnd;
    if (selEnd==1 || selEnd==2) selEnd=selLength;
    var s1 = (strFieldName.value).substring(0,selStart);
    var s2 = (strFieldName.value).substring(selStart, selEnd)
    var s3 = (strFieldName.value).substring(selEnd, selLength);
    strFieldName.value = s1 + strLeft + s2 + strRight + s3;
    }

    Grüße
    Thomas

  2. die den aktuell markierten Text einer textarea ausliest, verändert und zurückschreibt.

    Ich hatte das auch versucht, aber Probleme den Text zu verändern, wenn das Wort, das selektiert wurde, mehrfach verwendet wurde. Wie hast du das gelöst?

    Pete

  3. Hallo,

    schaut Euch mal die beiden Links an, vielleicht sind die Euch eine Hilfe. Sind, soweit ich sehe, sauber geschrieben und funktioniert mit IE und Mozilla.
    http://www.oreillynet.com/pub/a/javascript/2001/12/21/js_toolbar.html
    http://www.massless.org/mozedit/

    Gruß, Thoralf

    --
    Sic Luceat Lux!