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 ...