2011-05-10 5 views
8

jQuery를 사용하여 기본적으로 텍스트 상자에있는 텍스트의 끝에서 커서를 바꾸려고 시도한 후 사용자가 "enter"를 입력 한 후jQuery Textbox 커서를 텍스트 끝으로 연결 하시겠습니까?

"입력"부분이 작동합니다. 입력 후] - 텍스트 상자 안에 입력 된 텍스트의 끝으로 돌아가려면 커서를 가져올 수 있습니까?

즉, 사용자가 Enter 키를 누를 때 - 커서가 새 줄로 이동하고 기본적으로 현재 텍스트의 끝으로 이동하겠습니까?

일부 코드 :

jQuery('#textbox').keyup(function (e) { 
     if (e.keyCode == 13) { 
      ... submits textbox 
     } 
     jQuery(this).focus(function() { 
      var val = this.input.value; //store the value of the element 
      this.input.value = ''; //clear the value of the element 
      this.input.value = val; //set that value back. 
     )};  
}); 
+0

Google에서 볼 수있는 링크가 있나요? 내 첫 번째 추측은 불이행을 방지 할 수있는 방법 일 것이지만 확신 할 수는 없습니다. – sdleihssirhc

+0

나는 이것을 발견했다 - http://stackoverflow.com/questions/511088/use-javascript-to-place-cursor-at-end-of-text-in-text-input-element - 그러나 그것이 도움이되는지 확실하지 않은가? – Tom

+0

나는 당신이 한 일을 의미했다. 귀하의 질문은 실제 코드를 작성한 것처럼 들립니다. 우리는 그걸 볼 수 있니? – sdleihssirhc

답변

6

그냥 줄 바꿈을 만드는에서 'ENTER'키를 방지하려면, 당신이 그것을 차단 preventDefault를 사용할 수 있습니다.

$("textarea").keypress(function (event) { 
    if (event.which == '13') { 
     event.preventDefault(); 
    } 
}); 

fiddle

당신이 정말로 입력의 끝으로 이동하는 입력 어디서나 을 누르면, 당신은 또한 항상의 끝으로 커서를 이동합니다 값을 재설정 할 수 있습니다 입력합니다 입력 :

$("textarea").keypress(function (event) { 
    if (event.which == '13') { 
     var val = $(this).val();  
     $(this).val(''); 
     $(this).val(val); 
     event.preventDefault(); 
    } 
}); 
+0

안녕하세요 dave - 대단히 감사합니다. :) 단지 preventDefault()라고 생각합니다. 나에게는 괜찮지 만 두 번째 추가에 +1이 필요하다. – Tom

관련 문제