下面的代码是我现在使用的代码,只是将光标位置设置为span的尾部
var node = document.getElementById("span_first");
var range = document.createRange();
range.setStartAfter(node);
var sel = window.getSelection();
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
http://jsfiddle.net/vXnCM/3837/
但是我想在范围内的任何位置设置光标位置,该怎么办?
谢谢。
您可以这样做:
function setCaret() {
var element = document.getElementById("input");
var range = document.createRange();
var node;
node = document.getElementById("first");
range.setStart(node.childNodes[0], 1); <-- sets the location
var sel = window.getSelection();
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
element.focus();
}
node.childNodes []与要在其上设置光标的行有关,下一个数字是该行的位置。在此示例中,将空间1移动到第0行(实际上是第1行)。因此,如果将这些值更改为变量并将其作为参数放入函数中,则可以指定位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句