JavaScript文本范围为“插入位置”



我正在使用I 8,我想在可满足的Div中创建一个文本范围,该文本范围应包括所有文本,直到Caret位置(在Editabledablediv中为我知道)。到目前为止,我能够在Div中选择所有文本:

 function myFunction(editableDiv, cursorPosition)
 {
    if (document.selection) {
       var range = document.body.createTextRange();
        range.moveToElementText(editableDiv);            
        range.collapse(false);
        range.select();
    }
 }
<div id="myDiv" runat="server" contenteditable="true">

但是,如何创建一个文本范围,该文本范围从DIV中的第一个字符开始并持续到CARET位置?非常感谢。

使用TextRangesetEndPoint()方法:

var caretRange = document.selection.createRange();
var preCaretRange = document.body.createTextRange();
preCaretRange.moveToElementText(editableDiv);
preCaretRange.setEndPoint("EndToStart", caretRange);

显然,您需要针对非IE浏览器的不同代码。

相关内容

  • 没有找到相关文章

最新更新