Hallo!
Hier die wesentlichen Zeilen des Codes:
document.onkeydown=keyDownHandler;
function keyDownHandler(event) {
[...]
// tabulator key
if (keyCode == 9) {
insertTab();
return;
}
}
function insertTab() {
cursor = getCursorPos();
text = editLine.value;
rest1 = text.substring(0, cursor);
rest2 = text.substring(cursor, text.length);
editLine.value = rest1+"XXXX"+rest2;
tabCursor = cursor;
}
function insertTab() {
// get the current position of cursor in editLine
cursor = getCursorPos();
// get the current value of the editLine
text = editLine.value; // editLine ist ein Input
// text before cursor
rest1 = text.substring(0, cursor);
// text behind cursor
rest2 = text.substring(cursor, text.length);
// insert "tab" at current cursor position
editLine.value = rest1+"XXXX"+rest2;
// restore cursor position
tabCursor = cursor;
}
Ich fange alle Tastatureingaben ab, analysiere sie im keyDownHandler und wenn es ein Tab war springe ich zu insertTab.
Hier fuege ich an die aktuelle Position ein Tab ein (XXXX).
Soweit so gut.
Leider wird das Tab anschliessend verwendet, um dem naechsten Element den Focus zu geben; dies genau moechte ich verhindern.
Vielen Dank fuer die Ausdauer.
Lithaila