Javascript createTextRange-IE8中的奇怪行为
我有以下问题。在作为自动补全器工作的文本输入字段中,它返回的一些建议比它的建议要少。当你离开球场时,问题就来了。在IE中,文本光标位于建议字符串的末尾,因此您实际上只能看到它的最后一部分。所以我使用下面的代码来修复这个问题,它在IE6下工作,但在IE8中,它不工作,字段总是被选中的,我不能在页面上选择任何内容 我的问题是,在我离开输入字段后,在输入字段开头移动光标的正确方式是什么 $('#myAutocompleter').blur(function(){ textRange = this.createTextRange(); textRange.collapse(true); textRange.select(); });Javascript createTextRange-IE8中的奇怪行为,javascript,jquery,internet-explorer-6,internet-explorer-8,textrange,Javascript,Jquery,Internet Explorer 6,Internet Explorer 8,Textrange,我有以下问题。在作为自动补全器工作的文本输入字段中,它返回的一些建议比它的建议要少。当你离开球场时,问题就来了。在IE中,文本光标位于建议字符串的末尾,因此您实际上只能看到它的最后一部分。所以我使用下面的代码来修复这个问题,它在IE6下工作,但在IE8中,它不工作,字段总是被选中的,我不能在页面上选择任何内容 我的问题是,在我离开输入字段后,在输入字段开头移动光标的正确方式是什么 $('#myAutocompleter').blur(function(){ textRange = this.
使用的代码是用jQuery编写的。我不确定我是否理解您的问题,但IE有自己的一套方法来处理页面上的文本选择,因此它的行为会有所不同 请查看以下教程: 为了兼容性:
如果这不是您的问题,请尝试在blur中执行鼠标移动或单击事件检查,并将选择代码放在那里?可能这会导致选择在将其放置在选择所在的位置之前从输入字段中移出。我有过类似的情况,我希望根据类似的内容查看某些内容的顶部/底部。 我使用了jqueryscrollto插件
).scrollTo('100%')
).scrollTo('0%')
编辑1:
我在这个领域使用它:
<textarea cols="57" rows="2" class="cssTextarea cptEntryArea"></textarea>
我相信您需要的是文本范围中的.moveStart和.moveEnd方法:
$('#myAutocompleter').blur(function(){
textRange = this.createTextRange();
textRange.collapse(true);
textRange.moveEnd('character',0);
textRange.moveStart('character',0);
textRange.select();
});
在IE8中测试功能我的问题通常是,在我离开输入后,IE如何将文本对齐到左侧的文本输入字段中。在Mozilla FF中,这是由浏览器处理的,但在IE中不是。我试着用我帖子中的代码来做,但它不能正常工作。我不确定你的情况和我的情况如何,但scrollTo不能用于文本字段。
$('#myAutocompleter').blur(function(){
textRange = this.createTextRange();
textRange.collapse(true);
textRange.moveEnd('character',0);
textRange.moveStart('character',0);
textRange.select();
});