2013-05-21 2 views
0

JavaScript/jQuery를 사용하여 입력을 집중시키는 것이 매우 쉽지만 입력에 특정 문자를 집중시킬 수 있습니까?텍스트 입력 중순 포커스 입력

inputExample

는 예를 들어, 요소를 집중하고 커서가 첫 번째 문장 다음에 위치 가질 수 있을까 :

그래서이 입력을?

답변

1

물론 :

$('#inputID').focus().get(0).setSelectionRange(12, 12); 

대부분의 브라우저에서 작동하지만 이전의 IE는 createTextRangemove() 사용합니다.

FIDDLE

편집 :

오분 플러그인 :

$('#inputID').focus().setCaret(12); 

FIDDLE

:

$.fn.setCaret = function(pos) { 
    return this.each(function() { 
     var elem = this, 
      range; 

     if (elem.createTextRange) { 
      range = elem.createTextRange(); 
      range.move('character', pos); 
     } else { 
      if (elem.selectionStart !== undefined) { 
       elem.setSelectionRange(pos, pos); 
      } 
     } 
    }); 
} 

이 같이 호출 할

+0

달콤한, 고마워! setSelectionRange()에 대해 몰랐습니다! 또한 : 아마도 플러그인을 설정하는 대신 vanilla JS를 사용하려고합니다. 그것이 내 끝에서 작동하는 방식은 쉽게합니다. 시도 포인트! –

+0

@ Dropped.on.Caprica -'setSelectionRange'는 IE9에서만 작동한다는 점에 유의하십시오. 이전 버전에서는 IE8 이하를 지원하려는 경우 위의 'range.move()'코드가 필요합니다. – adeneo

+0

오른쪽 위. 내가하고있는 사이트는 기술적으로 IE를 지원하지 않기 때문에 비 호환 브라우저에 대해 크게 걱정할 필요가 없습니다. 좋은 점을 명심해라, 팁의 덕택으로. –