자바스크립트에서 키보드 입력 가로채서 바꿔서 입력할 수 잇나요?

이한길의 이미지

자바 스크립트에서 키보드 입력 들어온것을 가로채서
바꿔서 다른것으로 입력하게 할 수 있나요?

있다면 방법 부탁드립니다.

익명 사용자의 이미지

조금만 생각해보시면 가능합니다.

이벤트 보고 다른이벤트 주고 리턴을 주지 않으면 됩니다.

이한길의 이미지

Zeroidle_tmp wrote:
조금만 생각해보시면 가능합니다.

이벤트 보고 다른이벤트 주고 리턴을 주지 않으면 됩니다.

죄송하지만... 저도 이벤트 보는건 알겠는데..
다른 이벤트를 주고 리턴을 주지 않는다는건 잘 모르겠네요..

이를테면..

<html>
<head>
	<script>
	function kdown(e) {
		alert(e.keyCode);
	}
	</script>
</head>

<body onkeydown='kdown(event)'>

</body>

</html>

이렇게 하면.. 위의 kdown이라는 함수에서..
어떻게 해줘야 할 것 같은데.. 그걸 모르겠어서요..

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

Zeroidle의 이미지

<html>
<head>
<script>
function keyPress(event) {
if (event.keyCode==113)
event.keyCode=81;
else
event.keyCode=0;
}
</script>
</head>

<body>
<input type='text' name='ns' value='' onKeyPress='keyPress(event);'>
</body>

</html>
------------------------------
소문자 q 눌러보시기 바랍니다.

이한길의 이미지

Zeroidle wrote:
<html>
<head>
<script>
function keyPress(event) {
if (event.keyCode==113)
event.keyCode=81;
else
event.keyCode=0;
}
</script>
</head>

<body>
<input type='text' name='ns' value='' onKeyPress='keyPress(event);'>
</body>

</html>
------------------------------
소문자 q 눌러보시기 바랍니다.

그렇군요.
그런데 혹시 onKeyPress 이벤트 등록을 자바 스크립트로는 못하나요? 이를테면..

<html>
	<head>
	</head>
	<body>
		<input type='text' name='ns' value='' id='ns'>
		<script>
			//var objs = document.getElementsByTagName("input");
			var obj = document.getElementById("ns");
			obj.onkeypress=keyPress;
			
			function keyPress(event) {
				if (event.keyCode==113)
					event.keyCode=81;
				else
					event.keyCode=0;
			}
		</script>
	</body>
</html>

이렇게 하면 될듯도 한데... event라는 파라메터를 넘겨받을 수 없는거 같네요.. 혹시 무슨 방법 없을까요?

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com