jQueryを使用してテキストフィールドのカーソル位置をどのように設定しますか?コンテンツを含むテキストフィールドがあり、ユーザーがフィールドにフォーカスしたときに、ユーザーのカーソルを特定のオフセットに配置したいと考えています。コードは次のようになります。
$('#input').focus(function() {
$(this).setCursorPosition(4);
});
そのsetCursorPosition関数の実装はどのようになりますか?abcdefgという内容のテキストフィールドがある場合、この呼び出しにより、カーソルは次のように配置されます:abcd ** | ** efg。
Javaにも同様の関数setCaretPositionがあります。JavaScriptにも同様の方法はありますか?
更新:次のように、jQueryで動作するようにCMSのコードを変更しました。
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はここでは文字通り何もしていません。