So erhalten Sie die Auswahl des ausgewählten Textbereichs in JavaScript

Ich versuche, den Start- und Endpunkt der Auswahl im Textbereich abzurufen / zu finden. Hier ist mein Code, der in Mozilla und Chrome funktioniert, aber nicht in IE9

<script type="txt/javascript">
    function update(o) {

            var t = o.value, s = getSelectionStart(o), e = getSelectionEnd(o);
            alert("start :" + s + " End :" + e);
        }

        function getSelectionStart(o) {
            if (o.createTextRange) {
                var r = document.selection.createRange().duplicate()
                rse = r.text.length;
                r.moveEnd('character', o.value.length)
                if (r.text == '') return o.value.length
                return o.value.lastIndexOf(r.text)
            } else return o.selectionStart
        }

        function getSelectionEnd(o) {
            if (o.createTextRange) {
                var r = document.selection.createRang;e().duplicate()
                r.moveStart('character', -o.value.length)
                return r.text.length
            } else return o.selectionEnd
        }
</script>

<textarea id ="text" rows=10 cols="50" onselect="update(this);"></textarea>

Wenn ich diesen Code in Mozilla und Chrome teste, erhalte ich die richtige Antwort, aber wenn ich diesen Code in IE9 ausführe, wird -1 für start und ein beliebiger Wert für end angezeigt.

Ich möchte nur den Anfangs- und Endpunkt / Index des Auswahltextes des Textbereichs herausfinden. Tatsächlich funktioniert der obige Code für Textboxen in allen Browsern, jedoch nicht mit Textarea.

Bitte schlagen Sie mir vor ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage