2009-12-21 3 views
0

javacript에서 기본 keydown 이벤트 처리기를 호출하고 싶습니다. 가능한가?Javascript : 기본 keydown 이벤트 처리기를 호출하십시오.

+1

기본값은 무엇입니까? keydown 이벤트 핸들러? 어떤 요소에요? 왜? – Marius

+1

동일하지만 관련 SO 게시물이 아닙니다. http://stackoverflow.com/questions/202285/trigger-a-keypress-with-jquery-and-specify-which-key-was-pressed –

+0

>> Not 100 % 동일하지만 관련 SO 게시물은 여기에 : stackoverflow.com/questions/202285/ 감사합니다. –

답변

2

당신은 직접 호출 할 수

// Precondition - the element has an explicit handler registered 
element.onkeydown(); 

그렇지 않으면, 명시 적으로 "어쨌든했을 것"할 수있는 브라우저를 알 수있는 방법이 없습니다. 이것이 일어날 수있는 유일한 방법은 이벤트가 버블 링되는 것을 막지 않는 것입니다. 타임 아웃을 설정하고 이벤트를 계속 진행하려면 근본적으로 불가능합니다.

그러나 대부분의 경우 이벤트 핸들러에서 자신의 코드를 호출하고 keyDown 이벤트를 브라우저로 계속 보낼 수 있습니다. 그리고 이것이 어떤 이유에서든지 가능하지 않은 경우 일반적으로 이벤트의 효과를 시뮬레이션하는 고유 한 방법을 작성할 수 있습니다 (예 : 입력 필드의 내용 변경, 양식 제출 등)

0

기본 keydown 이벤트가 없습니다. keydown 이벤트는 모든 양식 요소에서 키를 누른 후 바로 keypress 이벤트와 값을 입력 할 때 텍스트 상자의 textInput 이벤트가 발생할 때 발생합니다. 그런 다음 키가 해제 될 때 keyup 이벤트가 생성됩니다. 다음 예제는 onKeyDown 이벤트 핸들러를 사용하여 텍스트 상자에 메시지를 표시하는 방법을 보여줍니다. 이벤트가 명시 적 이벤트 핸들러가있는 경우

<body><form action="" method="POST" id="myForm"><input type="text" name="myText" onKeyDown="changeVal()"><script type="text/javascript" language="JavaScript">s1 = new String(myForm.myText.value)function changeVal() { s1 = "You pressed a key" 
myForm.myText.value = s1.toUpperCase() }</script></form></body> 
관련 문제