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