Can a Selection object be created without any user interaction? window.getSelection()
does return a Selection
object, but you can't modify() it unless the user has some sort of selection made.
Is it possible to create a selection which starts at the very first element on the page and then be able to modify()
it, without the need for the user to do anything?
Example: http://jsfiddle.net/niklasvh/L5M3U/
It doesn't select anything on page load, but if you click on anything it does make a selection.
If I understand what you're asking, then yes, you can programmatically set the selection using its addRange()
method. For example, to select the whole of the document's <body>
element when the page loads, you could do:
function selectBody() {
var range = document.createRange();
range.selectNode(document.body);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
window.onload = selectBody;
This doesn't work on IE < 9, which has a whole different approach to ranges and selections.
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