如何使用jQuery在文本字段中设置光标位置?我有一个带有内容的文本字段,我希望用户将光标放在该字段上时将光标定位在某个偏移处。该代码应该看起来像这样:
$('#input').focus(function() {
$(this).setCursorPosition(4);
});
该setCursorPosition函数的实现是什么样的?如果您的文本字段的内容为abcdefg,则此调用将导致光标的定位如下:abcd ** | ** efg。
Java具有类似的功能setCaretPosition。javascript是否存在类似的方法?
更新:我修改了CMS的代码以与jQuery配合使用,如下所示:
new function($) {
$.fn.setCursorPosition = function(pos) {
if (this.setSelectionRange) {
this.setSelectionRange(pos, pos);
} else if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
if(pos < 0) {
pos = $(this).val().length + pos;
}
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
}(jQuery);
$(this).get(0).setSelectionRange)
?您确实知道这与完全一样this.setSelectionRange
,只是阅读起来越来越慢,对吧?jQuery在这里实际上没有为您做任何事情。