Huhu >.<
Ich verzweifel jetzt seit heute morgen an folgendem Problem:
Ich habe eine div, die auf contenteditable gestellt ist.
Jetzt hab ich mit Javascript eine Funktion gewerkelt die den Text a) ausliest, b) bearbeitet c) per JQuery ($("#highE").html(endText); ) wieder in das div schreibt.
function tuWas() {
$(document).ready(function(){
//Cursor save
//PROBLEM!
//Cursor save end
//Hier wird bearbeitet & geschrieben
//Cursor reset
//PROBLEM!
//Cursor reset end
});
}
Alles anzeigen
Schön und gut, klappt soweit.
ABER:
Nachdem es geprüft wurde (Alle 1,5 Sekunden oder auf Wunsch per checkbox eben pro onchange) springt der Caret(Blinkendes Cursorteil) zurück auf die Anfangsposition des div.
Ich hatte schon soweit die Idee vor dem Bearbeiten die Cursorposition auszulesen & nach dem Schreiben eben wieder zu setzen.
Dabei ergab sich a) dass es dafür getSelection oder Ranges braucht b) dass die browser im bezug darauf sehr besch... äh verschieden sind.. und c) dass Google nichts brauchbares geliefert hat.
Auslesen der Position (bzw des Offsets) hab ich per window.getSelection.focusOffset geschafft.
Setzen der Position hab ich nix zustande gebracht.
Ich will es jetzt erstmal soweit bekommen, dass es im FF funktioniert.
Und:
Ich weiß, was ich da benutze ist pfui, nicht standardkonform etc.
Aber es muss in einem Div-contenteditable klappen.
mfg
NullPointerException