如何使用 jQuery 设置文本区域中的光标位置
$.fn.selectRange() 函数可让您轻松设置光标位置或使用 jQuery 在文本区域中选择文本范围。
以下是您可以如何操作使用它:
$.fn.selectRange = function(start, end) { if(end === undefined) { end = start; } return this.each(function() { if('selectionStart' in this) { this.selectionStart = start; this.selectionEnd = end; } else if(this.setSelectionRange) { 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(); } }); };
使用此函数,您可以通过提供单个参数来设置光标位置,如下所示:
$('#elem').selectRange(3); // set cursor position
或者,您可以通过以下方式选择文本范围提供两个参数:
$('#elem').selectRange(3,5); // select a range of text
此函数通过检查浏览器是否支持 SelectionStart 和 SelectionEnd 属性来工作。如果是,它会使用它们来设置光标位置或选择范围。否则,它使用大多数浏览器都支持的 setSelectionRange() 方法。最后,如果这两种方法都不可用,则该函数将回退到使用 createTextRange() 方法,该方法在 Internet Explorer 中可用。
以下是如何使用此函数的一些方便示例:
$('#elem').selectRange(0, $('#elem').val().length);
$('#elem').selectRange($('#elem').val().length);
$('#elem').selectRange(3, 7);
您可以在 JsFiddle 和 JsBin 上找到该功能的现场演示。
以上是如何使用 jQuery 设置光标位置或选择文本区域中的文本?的详细内容。更多信息请关注PHP中文网其他相关文章!