jQuery设置聚焦并使光标位置在文字最后

摘要:
结果发现光标位置在firefox下停留的位置不对——停留在文字的最前边!只有IE浏览器下是正常的。这样的话肯定是不行的,于是想办法进行处理。

遇到一个问题:表单输入框设置了文字,然后使用jQuery的焦点停留设置办法focus()进行处理。结果发现光标位置在firefox下停留的位置不对——停留在文字的最前边!

只有IE浏览器下是正常的。这样的话肯定是不行的,于是想办法进行处理。

代码有很多种,下面给出:

方法一:

[javascript]view plaincopy
  1. functionsetSelectionRange(input,selectionStart,selectionEnd){
  2. if(input.setSelectionRange){
  3. input.focus();
  4. input.setSelectionRange(selectionStart,selectionEnd);
  5. }
  6. elseif(input.createTextRange){
  7. varrange=input.createTextRange();
  8. range.collapse(true);
  9. range.moveEnd('character',selectionEnd);
  10. range.moveStart('character',selectionStart);
  11. range.select();
  12. }
  13. }
  14. functionsetCaretToPos(input,pos){
  15. setSelectionRange(input,pos,pos);
  16. }

调用办法:setCaretToPos(document.getElementById("YOURINPUT"), 4);

方法二:

[javascript]view plaincopy
  1. $.fn.selectRange=function(start,end){
  2. returnthis.each(function(){
  3. if(this.setSelectionRange){
  4. this.focus();
  5. this.setSelectionRange(start,end);
  6. }elseif(this.createTextRange){
  7. varrange=this.createTextRange();
  8. range.collapse(true);
  9. range.moveEnd('character',end);
  10. range.moveStart('character',start);
  11. range.select();
  12. }
  13. });
  14. };

调用办法:$('#elem').selectRange(3,5);

方法三:

[javascript]view plaincopy
  1. $.fn.setCursorPosition=function(position){
  2. if(this.lengh==0)returnthis;
  3. return$(this).setSelection(position,position);
  4. }
  5. $.fn.setSelection=function(selectionStart,selectionEnd){
  6. if(this.lengh==0)returnthis;
  7. input=this[0];
  8. if(input.createTextRange){
  9. varrange=input.createTextRange();
  10. range.collapse(true);
  11. range.moveEnd('character',selectionEnd);
  12. range.moveStart('character',selectionStart);
  13. range.select();
  14. }elseif(input.setSelectionRange){
  15. input.focus();
  16. input.setSelectionRange(selectionStart,selectionEnd);
  17. }
  18. returnthis;
  19. }
  20. $.fn.focusEnd=function(){
  21. this.setCursorPosition(this.val().length);
  22. }

调用办法:$(element).focusEnd();

免责声明:文章转载自《jQuery设置聚焦并使光标位置在文字最后》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇腾讯云ubuntu18.04启用root用户appscan 对api的手工检测下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jquery如何判断滚动条滚到页面底部并执行事件

首先理解三个dom元素,分别是:clientHeight、offsetHeight、scrollTop。 clientHeight:这个元素的高度,占用整个空间的高度,所以,如果一个div有滚动条,那个这个高度则是不包括滚动条没显示出来的下面部分的内容。而只是单纯的DIV的高度。 offsetHeight:是指元素内容的高度。依照上面的,那这个高度呢就是D...

Jquery获取列表中的值和input单选、多选框控制选中与取消

一、Jquery获取列表中的值   1、jsp页面代码    <tbody> <c:forEach var="model" items="${listRefEntity }" varStatus="status"> <tr&...

Jquery权威指南

1.Radio <input name="rdoSex" type="radio" value="男" /> $("#Radio1:checked").val()--根据Id获取值 $("input[name=rdoSex]:checked").val()--根据name获取值 $("#Radio1").is(":checked")--根据...

使用jquery刷新当前页面

如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲对象(用于框架) opener.location.reload()刷新父窗口对象(用于单开窗口) top.location.reload()刷新最顶端对象(用于...

Mac下通过npm安装webpack 、vuejs,以及引入jquery、bootstrap等(初稿)

前言:初次接触前端开发技术,一些方向都是在同事的指引和自己的探索后,跑了个简易web,迈入全栈系列。由于是事后来的文章,故而暂只是杂记,写的粗略且不清晰,后续将补之。 主要参考文档: http://www.runoob.com/vue2/vue-install.html http://blog.csdn.net/haoaiqian/article/deta...

Jquery 飘窗

1 <script type="text/javascript" src="jquery.js"></script> 2 <script type="text/javascript"> 3 (function($) { 4 $.fn.floatAd = function(options) { 5...