我正在使用contentEditable div,当光标位于第一行的末尾,然后单击按钮,我想选择第一行的整行。 (如果我在第二行的末尾有光标,则按钮单击将选择第二行的整行,依此类推)
如何使用选择/范围对象实现此目的?
我在这里制作了简单的测试应用:http://jsfiddle.net/ehSkr/15/
我在下面的代码中遇到的问题是,当文档中只存在简单文本时,如果有任何节点进行播放,那么它会起作用这个然后选择会以某种方式混淆而不选择整行。
注意:我正在使用IE11(或10,9,8),这就是为什么selection.modify被注释掉了,因为IE不支持这种方法,不像Chrome。
HTML
<div contentEditable='true'>
<span><b>this</b> is a pen</span><br />
<span>second line</span><br />
</div>
的javascript
var selection = window.getSelection();
var range = [];
range = selection.getRangeAt(0);
console.log(selection);
console.log(range);
var startNode = selection.anchorNode;
var endNode = selection.focusNode;
console.log(startNode);
console.log(endNode);
range.setStart(startNode, 0);
range.setEnd(endNode, range.endOffset);
selection.addRange(range);
//selection.modify("extend", "forward", "word");