I have a contenteditable div which needs to be focussed at pageload (place cursor at the first line).
document.getElementById("editor").focus()
works well in Firefox and IE, but in Chrome/Safari it just selects the entire content!
Is there a way to make this work properly?
Thanks in advance,
Shesh
This question may no longer be relevant to the questioner but I'll answer it for future readers. The basic principle is to set the selection to a collapsed range at the start of the element.
I solved this problem by using the Rangy JS library: http://code.google.com/p/rangy
var r = rangy.createRange();
r.setStart( document.getElementById('editor'), 0 );
r.collapse(true);
rangy.getSelection().setSingleRange(r);
This might be more than is necessary but it definitely works cross-browser and Rangy provides a bunch of extra utilities as well so it's probably worth looking into :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With