2016-10-29 8 views
-2

키 입력 당 하나의 문자로 텍스트를 텍스트 영역에 삽입해야하므로 키를 누르고 있으면 여러 문자 ('aaaaaaaaaaaaaaaaaaa) 대신 하나의 문자 ('a ') 만 쓰게됩니다. '). 이 마지막 문자열을 입력하려면 사용자는 키보드 버튼을 여러 번 눌렀다 놓아야합니다.텍스트 영역에서 키보드 누르기 금지

이것이 가능합니까?

자바 스크립트와 JQuery를 사용할 수 있습니다.

감사합니다.

+0

는 아니, 할 수 없습니다. – ASDFGerte

+0

@ASDFGerte : 아, 그렇습니다. –

+0

내가 궁금한데 : ** 왜 **이 표준 기능을 비활성화해야합니까? –

답변

3

경고 : 보조 기술을 사용하는 사용자가 의도하지 않은 결과를 초래할 수 있으므로이 작업을하지 않는 것이 좋습니다.

keypresskeyup을보고 을 볼 때까지 keypress 이벤트를 더 이상 허용하지 않을 수 있습니다. 이 그들의 키를 누른 상태에서 일부 다른 키 (같은 시프트 또는 Ctrl 키를) 전환 방지하지 않습니다,하지만 일부 키 전환하도록 요구 않습니다

var preventKeypress = false; 
 
$("textarea") 
 
    .on("keyup", function() { 
 
    // Allow keypresses again 
 
    preventKeypress = false; 
 
    }) 
 
    .on("keypress", function(e) { 
 
    if (preventKeypress) { 
 
     // Disallow it 
 
     e.preventDefault(); 
 
    } else { 
 
     // Allow it, but then disallow until we next see keyup 
 
     preventKeypress = true; 
 
    } 
 
    });
<textarea rows="5" cols="50"></textarea> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

는 나는 절대 안전한입니다 말하고 있지 않다, 또는 좋은 생각은 ... :-)

+0

고마워, 아주 똑똑한 해결책! 또한이 작업을 제안하지는 않겠지 만 이것은 이상한 브라우저 게임을위한 것일뿐입니다. 다시 한 번 감사드립니다! – duri