2010-07-08 6 views
-1

사용자가 텍스트 영역의 아래쪽 화살표 키를 누르고 텍스트 영역의 맨 아래에있는 경우 (즉, 키 업이 효과가 없음) 캡처 할 이벤트 핸들러를 원합니다. 이.자바 스크립트/jQuery 키 입력시 다음 필드로 이동

$("<textarea />").keyup(function (e) { 
    switch (e.keyCode) { 
     case 40: // down 
      // if last line or alternatively 
      // if keypress does not change index 
      // do something. 
      break; 
    } 
}); 

이 기능을 구현할 수 있습니까?

마찬가지로 텍스트 영역의 맨 위에있는 반대쪽 - 키 코드 38 ("위로")을 캡처하는 방법을 알고 싶습니다.

EDIT : 덧붙여 말하자면 나는 도움이 필요하다면 jQuery FieldSelection plugin을 사용하고 있습니다.

읽어 주셔서 감사합니다. 모든 입력에 대한 의무가 있습니다. FieldSelection 플러그인에

브라이언

+1

fieldSelection 플러그인이 캐럿의 위치를 ​​읽을 수있는 것처럼 보이므로 업/다운 키를 누르면 다음 키를 누를 때 다른 키 누르기가 표시됩니다. 나는 여기서 질문을 볼 수 있을지 모르겠다. 당신이 이미 알아 냈던 것처럼 보인다. :) – Faisal

+0

@Faisal : 예, FieldSelection으로 해결했습니다. 나는 누군가가 후손에 대한 답변을 게시하고 일부 모듈 포인트를 공유하기를 기다리고있다. :) –

+0

나는 이것이 왜 투표에 실패했는지에 대한 논평을 많이해야 할 것이다. –

답변

1

문서는 부족한 것 같다,하지만 this page에 업데이트 기능의 코드를 보면. 캐럿이 움직이는 지 감지하는 방법을 모을 수 있어야합니다. 이것은 정확히 당신이 원하는 것이 아니지만 가까운 것입니다. 이것을하는 이유는 무엇입니까?

편집 : 조나단의 대답에 대한 귀하의 의견을 보았습니다. Chrome에서 적어도 마지막으로 아래쪽 화살표는 캐럿을 텍스트 영역의 끝으로 이동시킵니다.이 텍스트 영역은 위에서와 같이 감지 할 수 있어야합니다. 그러나 사용자는이 "기능"을 알아야합니다. 사용자가 텍스트 영역을 추가 할 수있는 링크 만 있으면 더 투명하게 만들 수 있습니다.

+0

Chrome 솔루션은 많은 도움이됩니다. 매우 긴 문서 (예 : 5,000 페이지 이상)에 대해 적절한 인터페이스를 구현하려고하므로 단일 텍스트 영역을 사용할 수 없습니다. 따라서 단락별로 분할 된 텍스트 영역을 사용하여 내부 편집을 사용하고 있습니다. 단락의 끝에서 하향 키를 누를 때 예상되는 사용자 경험은 다음 편집 가능한 단락으로 이동하는 것입니다. –

+0

물론 사용자 환경을 신중하게 고려한 한 괜찮습니다. – TNi

관련 문제