hallöchen
Nein, über das zurückgegebene Selection-Objekt kannst du den Knoten in Erfahrung bringen, in dem der Text markiert ist, sowie Anfang und Ende im Text (anchorNode, anchorOffset, focusNode, focusOffset).
Wenn du dir die zugehörige Range über getRangeAt(0) geben lässt, kannst du m.W. genauer arbeiten (es gibt aber ähnliche Eigenschaften: startContainer/startOffset, endContainer/endOffset).
also, die tipps sind jetzt schon richtig gut, funktioniert auch für die erste selektion, wenn ich jetzt aber nochmal was markiere und dieses dann kursiv oder auch fett machen will, löscht der den text und fügt irgendwelchen kauderwelsch ein??
if (window.getSelection().isCollapsed == true)
{
die("gleiceh position");
}
else
{
if (window.getSelection().anchorOffset < window.getSelection().focusOffset)
{
alert("links-rechts")
var eingabeText = document.getElementById('textEdit').innerText;
var eingabeMark = window.getSelection();
var eingabeVoll = eingabeText.substring(0, window.getSelection().anchorOffset) + '<' + kommando + '>' +
eingabeMark + '<\/' + kommando +'>' +
eingabeText.substring(window.getSelection().focusOffset, eingabeText.length);
document.getElementById('textEdit').innerHTML = eingabeVoll;
}
else
{
alert("rechts-links")
var eingabeText = document.getElementById('textEdit').innerText;
var eingabeMark = window.getSelection();
var eingabeVoll = eingabeText.substring(0, window.getSelection().focusOffset) + '<' + kommando + '>' +
eingabeMark + '<\/' + kommando +'>' +
eingabeText.substring(window.getSelection().anchorOffset, eingabeText.length);
document.getElementById('textEdit').innerHTML = eingabeVoll;
}
}
die ausgabe vor und nach der 2. formatierung
1. formatierung dies ist <b>ein</b> großer test
2. formatierung d<b>großer</b>t <b>ein</b> großer test
mfg julian
ps.: die alerts sind nur für mich zu überprüfung oder und in welche schleife er rein geht