可以Selection在没有任何用户交互的情况下创建对象? window.getSelection()
确实会返回一个Selection
对象,但您不能 modify()除非用户做出某种选择。
是否可以创建一个从页面上的第一个元素开始的选择,然后能够修改()
它,而不需要用户做任何事情?
示例:http://jsfiddle.net/niklasvh/L5M3U/
它不会在页面加载时选择任何内容,但如果您单击任何内容,它就会进行选择。
最佳答案
如果我理解您的要求,那么是的,您可以使用其 addRange()
以编程方式设置选择方法。例如,选择整个文档的 <body>
页面加载时的元素,你可以这样做:
function selectBody() {
var range = document.createRange();
range.selectNode(document.body);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
window.onload = selectBody;
这在 IE < 9 上不起作用,它对范围和选择有完全不同的方法。
关于javascript - 是否可以在没有任何用户交互的情况下创建选择对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239857/