2009-09-29 6 views
3

지금까지이 키 누르기에서 호출되었습니다.Javascript에서 Enter 키가 탭 키처럼 동작하도록합니다.

function chkenter() 
{ 
    e = event.keyCode; 

    if (e == 13) 
    { 
    event.keyCode = 9; 
    return false; 
    } 
} 

하지만 키 코드를 9로 설정하더라도 다음 컨트롤로 이동하지 않습니다. 내가 어떻게이 일을 할 수 있니? Asp Classic에서 일하고 있어요.

내가 궁극적으로 원하는 것은 포커스가 다음 요소로 이동하는 것입니다. 그러나 id가 루프에 설정 되었기 때문에 다음 요소의 id가 완전히 결정되지는 않지만이 시점에서는 존재합니다. 어떻게 포커스를 다음 컨트롤로 설정할 수 있습니까?

+0

당신은 VS2005이 질문에 태그. 그게 당신에게 같은 질문을하는 사람처럼 들리 네요. http://www.webdeveloper.com/forum/showthread.php?t=18598 –

+2

@crescent 그것은 6 년 전에 게시되었습니다 ... 또한 거의 2 년 전에 VS2005를 사용할 수있었습니다 ... –

+0

@ 렉스 : 귀하의 요점은? VS *의 다른 버전에서 동일한 질문이 같은 해상도를 가질 수 있습니다. –

답변

1

IE 전용 스크립트이므로 Firefox에서 실행하려고하면 작동하지 않습니다.

IE에서 작동하려면 "return false;"를 제거하십시오. 귀하의 코드에서 "onkeydown"이벤트 에이 함수를 atach 잊지 마세요.

+0

맞습니다. 감사. 나는 이것을 깨달았 음에 틀림 없다. onkeydown은 키를 누르기 직전입니다. 감사!! – Eric

0

은 당신과 같이 사용하여이 jQuery을 수행 할 수 있습니다

function checkKey(e){ 
    if(e.keyCode == 13){ // if enter key 
     var e = jQuery.Event('keydown'); // create a manual event 
     e.which = e.charCode = 0; 
     e.keyCode = 9; // set the new event to "tab" 
     $(this.target).trigger(e); // trigger the new event (on the document) 
     return false; // cancels the original "enter" event from executing 
    } 
} 
// lets say you bind the event on the whole document... 
$(document).on('keydown', checkKey);