【问题标题】:Get non selected text from a textbox in IE从 IE 中的文本框中获取非选定文本
【发布时间】:2012-07-25 04:22:35
【问题描述】:
我正在尝试使用 IE8 在输入文本元素中获取未选择的文本,我尝试了 this 并且确实很有帮助,但是在未选择文本的情况下,函数返回开始的索引和字符串的结尾。
如何获取输入文本元素的未选择文本,或者如何知道何时没有选择文本?
使用 jQuery 也会很有帮助。
【问题讨论】:
标签:
javascript
jquery
html
internet-explorer
cross-browser
【解决方案1】:
如果我正确理解了您的问题,您将需要这样的内容:
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;
}