我正在处理一些自动完成代码。setSelectionRange()用于在oninput事件处理程序中选择已完成的文本。它至少适用于Firefox14,但不适用于Chrome(6、17)。演示问题的简化代码片段如下:functionselect(e){vars=this.value;if(s.length)this.setSelectionRange(s.length-1,s.length);}我在chrome中调试了代码,发现在执行setSelectionRange()后,一开始选中了文本,但后来选中的内容消失了。如果我将处理程序绑定(bind)到onclick而不是oninput,如
当我聚焦在文本框上时,我试图将光标设置到开头的位置。这是我的:$("ID").focus(function(){varinput=this;setTimeout(function(){input.setSelectionRange(0,0);},0);});但我每次尝试加载脚本时都会收到此错误:UncaughtInvalidStateError:Failedtoexecute'setSelectionRange'on'HTMLInputElement':Theinputelement'stype('email')doesnotsupportselection.我猜我不能在电子邮件上使用
JavaScript函数使用.setSelectionRange()选择文本区域中的特定单词。在Firefox中,文本区域会自动向下滚动以显示所选文本。在Chrome(v14)中,它没有。有没有办法让Chrome将文本区域向下滚动到新选择的文本?欢迎使用jQuery解决方案。 最佳答案 这是一个简单而高效的纯JavaScript解决方案://GetthetextareavartextArea=document.getElementById('myTextArea');//Defineyourselectionvarselection
我添加了下面的代码以在用户单击输入框时选择整个文本:但我收到以下错误:UncaughtInvalidStateError:Failedtoexecute'setSelectionRange'on'HTMLInputElement':Theinputelement'stype('number')doesnotsupportselection. 最佳答案 我知道这是一个老问题,但我确实找到了一个不使用tel输入类型的很好的解决方法。通过在选择之前将输入类型从number更改为text,错误消失并且您可以保留number输入的所有优点类型