Hallo,
ich benutze eine Javascript-Funktion, die den aktuell markierten Text einer textarea ausliest, verändert und zurückschreibt.
Um an den markierten Text zu kommen, gibt es abhängig vom Browser 3 Möglichkeiten:
window.getSelection()
document.getSelection
document.selection.createRange().textLeider funktioniert keiner dieser Möglichkeiten mit Firefox 0.9.1
4. Möglichkeit (ab Gecko 1.4):
selectionStart
selectionEnd
function mozillaWrap(strFieldName, strLeft, strRight)
{
var selLength = strFieldName.textLength;
var selStart = strFieldName.selectionStart;
var selEnd = strFieldName.selectionEnd;
if (selEnd==1 || selEnd==2) selEnd=selLength;
var s1 = (strFieldName.value).substring(0,selStart);
var s2 = (strFieldName.value).substring(selStart, selEnd)
var s3 = (strFieldName.value).substring(selEnd, selLength);
strFieldName.value = s1 + strLeft + s2 + strRight + s3;
}
Grüße
Thomas