Wie man ausgewählte text der textarea-Komponente in JavaScript

Ich bin beim suchen/finden der start-und Endpunkt der Selektion in der textarea.
Hier ist mein code, die funktionieren in Mozilla und chrome, aber nicht im 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 testen dieses Codes in Mozilla und chrome, es gibt mir die richtige Antwort, aber wenn ich diesen code ausführen auf IE9
Es zeigt -1 für start-und einen beliebigen Wert für Ende .

Möchte ich nur herauszufinden, die start-und end-Punkt/index Auswahl text von textarea. Eigentlich ist der obige code funktioniert gut für textbox in alle browser, aber nicht mit textarea.

Bitte schlagen Sie mich ...

  • Wahrscheinlich fehlen, doctype-Deklaration oder fehlen X-UA Compatible oder beides. Obwohl getSelectionEnd() funktioniert nicht in jedem browser, es ist ein Tippfehler, vielleicht auch nur in der post nur?
InformationsquelleAutor user1619672 | 2012-08-30
Schreibe einen Kommentar