[前端] 定位光标位置

来源:互联网 发布:女神威捏脸数据 编辑:程序博客网 时间:2024/05/19 00:12

当input框获取焦点的时候,改变光标的位置

方法一:

function setSelectionRange(input, selectionStart, selectionEnd) {    if (input.setSelectionRange) {        input.focus();        input.setSelectionRange(selectionStart, selectionEnd);    }    else if (input.createTextRange) {        var range = input.createTextRange();        range.collapse(true);        range.moveEnd('character', selectionEnd);        range.moveStart('character', selectionStart);        range.select();    }}function setCaretToPos (input, pos) {    setSelectionRange(input, pos, pos);}// 调用setCaretToPos(document.getElementById("input"), 4);

方法二:

$.fn.selectRange = function(start, end) {    return this.each(function() {        if (this.setSelectionRange) {            this.focus();            this.setSelectionRange(start, end);        } else if (this.createTextRange) {            var range = this.createTextRange();            range.collapse(true);            range.moveEnd('character', end);            range.moveStart('character', start);            range.select();        }    });};// 调用$('#ele').selectRange(3,5);

方法三:

$.fn.setCursorPosition = function(position){    if(this.lengh == 0) return this;    return $(this).setSelection(position, position);}$.fn.setSelection = function(selectionStart, selectionEnd) {    if(this.lengh == 0) return this;    input = this[0];    if (input.createTextRange) {        var range = input.createTextRange();        range.collapse(true);        range.moveEnd('character', selectionEnd);        range.moveStart('character', selectionStart);        range.select();    } else if (input.setSelectionRange) {        input.focus();        input.setSelectionRange(selectionStart, selectionEnd);    }    return this;}$.fn.focusEnd = function(){    this.setCursorPosition(this.val().length);}// 调用$(ele).focusEnd();

谢谢关注!








0 0