[Seaside] Textarea and setSelectionRange()
Lukas Renggli
renggli at gmail.com
Sat Mar 14 16:25:19 UTC 2009
> Has anyone here managed to call the setSelectionRange() method against a
> textarea in Seaside? I cannot seem to get this working.
Text selection is handled different in IE.
There is JavaScript code in the Pier-EditorEnh plugin at
<http://source.lukas-renggli.ch/pieraddons> that retrieves and sets
the text selection. As far as I know this code works in all web
browsers:
function getSelection(element) {
if (document.selection && document.selection.createRange) {
var range = document.selection.createRange();
var stored = range.duplicate();
stored.moveToElementText(element);
stored.setEndPoint("EndToEnd", range);
element.selectionStart = stored.text.length - range.text.length;
element.selectionEnd = element.selectionStart + range.text.length;
}
return [element.selectionStart, element.selectionEnd];
}
function setSelection(element, range) {
element.focus();
element.selectionStart = range[0];
element.selectionEnd = range[1];
if (document.selection && document.selection.createRange) {
var range = document.selection.createRange();
range.moveStart("character", element.selectionStart);
range.moveEnd("character", element.selectionEnd - element.selectionStart);
range.select();
}
}
Cheers,
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
More information about the seaside
mailing list