>  기사  >  웹 프론트엔드  >  js onkeypress와 onkeydown 이벤트의 차이점에 대한 자세한 설명_기본지식

js onkeypress와 onkeydown 이벤트의 차이점에 대한 자세한 설명_기본지식

WBOY
WBOY원래의
2016-05-16 17:46:351352검색

onkeypress와 onkeydown에는 차이가 있습니다. onkeypress와 onkeydown 이벤트의 차이점은 아래에서 설명하겠습니다.
onkeypress 이벤트는 사용자가 영숫자 키를 눌렀다 놓을 때 발생합니다. 하지만 시스템 버튼(예: 화살표 키, 기능 키)은 인식되지 않습니다.
onkeydown 이벤트는 사용자가 시스템 버튼을 포함하여 키보드 키를 누를 때 발생합니다.
구체적인 차이점:
1. 하나는 해제되고 다른 하나는 해제되지 않고, onkeypress보다 먼저 onkeydown이 발생합니다.
2.onkeypress는 시스템 버튼을 사용할 수 없습니다.
2. onkeydown으로 캡처한 keyCode는 글자 크기를 구분하지 않지만 onkeypress는 구분합니다.

onkeypress는 사용자가 영숫자 키를 눌렀다 놓을 때 발생합니다. 시스템 버튼(예: 화살표 키, 기능 키)이 인식되지 않습니다.
onkeyup은 사용자가 이전에 누른 키보드 키를 놓을 때 발생합니다.
onkeydown은 사용자가 키보드 키(화살표 키, 기능 키와 같은 시스템 버튼 포함)를 누를 때 발생합니다.

onkeypress
Microsoft® Internet Explorer 4.0부터 onkeypress 이벤트는 다음 키에 대해 실행되고 취소될 수 있습니다.

문자: A - Z(대문자 및 소문자)
숫자: 0 - 9
기호: ! @ # % ^ & * ( ) _ - = < [ ] { } , .
시스템: ESC , 스페이스바, Enter

onkeydown
Microsoft® Internet Explorer 4.0부터 onkeydown 이벤트는 다음 키에 대해 발생합니다.

편집: DELETE, INSERT
기능: F1 - F12
문자: A - Z(대문자 및 소문자)
탐색: HOME, END, 왼쪽 화살표, 오른쪽 화살표, 위쪽 화살표, 아래쪽 화살표
숫자: 0 - 9
기호: ! @ # $ % ^ & * ( ) _ - = < [ ] { } , . | ' ` " ~
시스템: ESC, SPACEBAR, SHIFT, TAB

Internet Explorer 5에서는 다음 키에 대해서도 이벤트가 실행됩니다.

편집: BACKSPACE
탐색: PAGE UP, PAGE DOWN
시스템: SHIFT TAB

Internet Explorer 5 기준 , event.returnValue=false를 지정하여 다음 키 및 키 조합에 대해 이 이벤트를 취소할 수 있습니다.

편집: BACKSPACE, DELETE
문자: A - Z(대문자 및 소문자)
탐색: 페이지 위로, 페이지 아래로, 끝, 홈, 왼쪽 화살표, 오른쪽 화살표, 위쪽 화살표, 아래쪽 화살표
숫자: 0 - 9
기호: ! @ # $ % ^ & * ( ) _ - = < ] { } , . / ? ' ` " ~
시스템: SPACEBAR, ESC, TAB, SHIFT TAB

대부분의 단축키를 포함하여 HTML 애플리케이션에서 onkeydown 이벤트를 실행하는 모든 키를 취소할 수 있습니다.

Internet Explorer 4.0에서는 onkeydown 이벤트를 취소할 수 없지만 onkeypress 이벤트를 사용하여 키보드 이벤트를 취소할 수 있습니다.

다음과 같이 두 가지를 함께 누릅니다.

코드 복사 코드는 다음과 같습니다.

if( window.event.shiftKey && event.keyCode == xx)

function document_onpress()
{

if(event.keyCode=='13')
{
document.all.div_Line.style. pixelLeft= document.all.div_Line.style.pixelLeft 1;
document.all.div_Q.style.pixelLeft=document.all.div_Q.style.pixelLeft 1
document.all.div_T.style.pixelLeft= document.div_T.style.pixelLeft 1

}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.