jQuery를 사용하여 텍스트 필드에서 커서 위치를 어떻게 설정합니까? 내용이있는 텍스트 필드가 있고 필드에 초점을 맞출 때 사용자 커서를 특정 오프셋에 배치하려고합니다. 코드는 다음과 같아야합니다.
$('#input').focus(function() {
$(this).setCursorPosition(4);
});
해당 setCursorPosition 함수의 구현은 어떤 모양입니까? abcdefg 컨텐츠가있는 텍스트 필드가있는 경우이 호출로 인해 커서가 abcd ** | ** efg로 배치됩니다.
Java에는 비슷한 기능인 setCaretPosition이 있습니다. 자바 스크립트에 대해 비슷한 방법이 있습니까?
업데이트 : 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는 말 그대로 당신을 위해 아무것도하지 않습니다.