2010-08-13 9 views
0

아래의 예제 코드에서는 클릭 한 페이지를 다시로드 할 때 Enter 키를 누르지 않아도됩니다. 이렇게하면 입력 한 내용이 페이지를 새로 고치기 위해 어떻게 수정하나요?자바 스크립트 - 페이지를 다시로드하는 이벤트

<h3>click to refresh page</h3> 
<input type="button" value="Refresh" onClick="history.go(0)"> 

당신은 초점을 설정해야합니다 당신에게 루스

답변

1

원할 경우 페이지 자체에 키 처리기를 설정할 수 있습니다. 어떤 어디의 키를 입력 잡을 :

function catchCR(e) { 
    if (!e) { 
    e = window.event; // for IE 
    } 
    var key = 0; 
    if (e.keyCode) { key = e.keyCode; } // IE 
    if (e.which) { key = e.which; } // FF 

    if (key == 13 /* enter key */) { 
    history.go(0); 
    } 
} 
if (document.addEventListener) { 
    document.addEventListener("keydown", catchCR, true); 
} else if (document.attachEvent) { 
    document.attachEvent("onkeydown",catchCR); 
} 
0

당신은 이런 식으로 작업을 수행 할 수 있습니다

<h3>click to refresh page</h3> 
<form onSubmit="history.go(0); return false;"> 
<input type="submit" value="Search"></form> 
+0

나는이 방법이 잘못 생각 :(당신이 루브 골드버그 머신을 구축하는 것 같습니다 –

+0

나를 위해 일 수 없었다 ... 클릭하지 마십시오 Javascript의 버튼! 원하는 동작을 직접 호출하십시오. – puckipedia

0

당신은 문서에 이벤트를 설정 할 수 있습니다.

이 시도 :

//Traditional Way 
document.onkeypress = function(event){ 
    event = event || window.event; 
    key=event.keyCode; 
    if (key == "13") //Enter 
    { 
     history.go(0); 
    } 
}; 

//OR 

function keyHandler(event){ 
    event = event || window.event; 
    key=event.keyCode; 
    if (key == "13") //Enter 
    { 
     history.go(0); 
    } 

} 
//Modern W3c Way 
if (document.addEventListener) { 
    document.addEventListener("keydown", keyHandler, false); 
} 
//IE Way 
else if (document.attachEvent) { 
    document.attachEvent("onkeydown",keyHandler); 
} 
+0

를 파이어 폭스 3.6 –

+0

@ 반짝 반짝 빛나다. 진정해. 다른 작업을 할 때 익숙해 졌어.하지만 여기서는 필요 없다고 생각해. –

관련 문제