Ge0rgy: Position des cursors innerhalb einer inputbox bestimmen?

Beitrag lesen

Danke, das funktioniert im wesentlichen, nur kann man den cursor nun nicht mehr ganz links von einer zahl positionieren (zumindest nicht mit pfeiltasten) weil das sofotz den switch auslöst.
eigentlich sollte man ja jede position im textfeld mit dne pfeiltasten anwählen können, nur wenn man ganz links noch einmal pfeiltaste drückt sollte zurvorherigen box gesprungen werden, analos natürlich rechts mit der letzten box...
mal schauen ob ich mir die funktion noch zusammenfummeln kann... wäre natürlich trotzdem toll wenn jemand auf basis dieses codes eine paradelösung dafür wüsste ;)
grüßchen
Ich

Schnellschuss mit TextRanges und compareEndPoints:

<!DOCTYPE html>

<html>
<head><title>Cursor am Anfang/Ende eines Eingabefeldes?</title>
</head>
<body>

<input id="i" value="blablabla">

<script>
[code lang=javascript]document.getElementById('i').onkeydown = function () {
var keyCode = window.event.keyCode;
var r1 = document.selection.createRange();
var r2 = r1.duplicate();
r2.expand('textedit');
var cursorAtStart = r2.compareEndPoints('StartToStart', r1) == 0;
var cursorAtEnd = r2.compareEndPoints('EndToEnd', r1) == 0;
if (keyCode == 37 && cursorAtStart) {
console.log('springe zu vorherigem');
} else if (keyCode == 39 && cursorAtEnd) {
console.log('springe zu nächstem');
}
};


> </script>  
>   
> </body>  
> </html>[/code]  
>   
> Mathias