从IE中的文本框中获取非选定文本

时间:2012-07-24 16:29:01

标签: javascript jquery html internet-explorer cross-browser

我正在尝试使用IE8在输入文本元素中获取非选定文本,我尝试了this并且非常有帮助,但是在没有选择文本的情况下,该函数返回索引字符串的开头和结尾。

如何获取输入文本元素的非选定文本,或者如何知道何时没有选择文本?

使用jQuery也很有帮助。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你需要这样的东西:

function getNonSelectedText(){
    var elem=document.getElementById('input');
    var selection=document.selection;
    var range=selection.createRange();
    if(range.boundingWidth<1){
        return elem.value;
    }
    var rangePre=range.duplicate();
    rangePre.moveToElementText(range.parentElement());// For <textarea>
    // rangePre.expand('textedit'); // For <input type=text>
    var rangePost=rangePre.duplicate();
    rangePre.setEndPoint('EndToStart',range);
    rangePost.setEndPoint('StartToEnd',range);
    return rangePre.text+rangePost.text;
}