可以在没有任何用户交互的情况下创建Selection对象吗? window.getSelection()
会返回Selection
个对象,但除非用户进行了某种选择,否则您无法modify()它。
是否可以创建一个从页面的第一个元素开始然后能够modify()
的选择,而无需用户做任何事情?
示例:http://jsfiddle.net/niklasvh/L5M3U/
它不会在页面加载时选择任何内容,但如果您点击任何内容,它确实会进行选择。
答案 0 :(得分:9)
如果我理解您的要求,那么是的,您可以使用其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&lt; 9,它有一个完全不同的范围和选择方法。