2012-08-28 5 views
29

자바 스크립트를 사용하여 문서의 키 누르기 이벤트를 등록하고 싶습니다.document.onkeypress 이벤트를 등록하는 방법

은 내가 사용하고 있습니다 :

document.attachEvent("onkeydown", my_onkeydown_handler); 

그것은 IE, 와 잘하지만 파이어 폭스와 크롬에서 작동합니다.

document.addEventListener("onkeydown", my_onkeydown_handler, true); 
// (with false value also) 

을하지만 여전히 파이어 폭스와 크롬에서 작동하지 않습니다

는 또한 시도했다.

해결책이 있습니까? 누락 된 것이 있습니까?

+0

당신이 몇 가지 코드를 보여줄 수 있습니까? – Phil

+0

[가능한 답변은 여기] (0120) (영문) – SuperSaiyan

답변

54

같이 찾고 있습니다 cript :

document.addEventListener("keydown", keyDownTextField, false); 

function keyDownTextField(e) { 
var keyCode = e.keyCode; 
    if(keyCode==13) { 
    alert("You hit the enter key."); 
    } else { 
    alert("Oh no you didn't."); 
    } 
} 

DEMO : JSFIDDLE

+1

문서 자체에 이벤트를 추가하고 싶습니다. –

+0

수정 됨 코드 .. @ NileshPethani –

2

addEventListener()의 이벤트 이름은 onkeydown이 아닌 keydown입니다.

또한 이벤트 핸들러를 document이 아닌 trigger 요소에 연결해야합니다.

7

당신은 아마 찾고 있습니다 :

document.body.addEventListener('keydown', function (e) { 
    alert('hello world'); 
});​​​​​​​ 

그러나 거의 확실 거기 밖으로 많은 브라우저의 문제를 통해 추상적으로 기존 라이브러리를 사용하는 당신의 시간 가치가있을 것입니다.

관련 문제