티스토리 뷰
javascript 를 이용해서 F1 키를 캡쳐하는 방법은 간단하다.
물론 shift 나 alt, ctrl 키를 잡아내는 방법은 다른 키들과 약간 다르지만, 그다지 삽질할만한 내용이 아니므로 설명하진 않겠다.
다음과 같은 예제를 이용하면 F1 키 뿐 아니라 어떤 키도 잡아낼 수 있다.
하지만 위와 같은 방법을 사용하면 F1 의 이벤트 시점을 잡아낼 순 있지만, F1 키로 인한 도움말이 실행되는 것을 막을 순 없다. 저런 방법으로는 뭔짓을 해도 안된다.
몇번의 삽질과 msdn 을 뒤진 끝에 찾아낸 방법은 두 가지가 있는데, 예제를 보면 알겠지만 두 가직의 원리는 결국 같다.
첫 번째는 document 객체의 onhelp 이벤트를 잡아내는 방법이다.
두 번째는 body element 의 onhelp 이벤트에서 처리하는 방법이다.
두 번째 방법처럼 body element 에서 처리할 경우는 반드시 return false 를 위와 같이 처리해야 한다. 만약 help_block() 함수내에 처리할 경우는 올바르게 block 되지 않는다.
다만, 이 방법들은 Internet Explorer 6.x 에서만 유효하며, Firefox 나 Safari 에서는 동작하지 않는다. IE 7 에서는 테스트 해보지 않아서 어떨지 모르겠다.
물론 shift 나 alt, ctrl 키를 잡아내는 방법은 다른 키들과 약간 다르지만, 그다지 삽질할만한 내용이 아니므로 설명하진 않겠다.
다음과 같은 예제를 이용하면 F1 키 뿐 아니라 어떤 키도 잡아낼 수 있다.
<script type="text/javascript" language="Javascript">
// <![CDATA[
document.onkeypress=keypress;
function keypress() {
if (event.keyCode == 112) {
alert("press F1 key");
event.keyCode = 0;
return false;
}
}
// ]]>
</script>
// <![CDATA[
document.onkeypress=keypress;
function keypress() {
if (event.keyCode == 112) {
alert("press F1 key");
event.keyCode = 0;
return false;
}
}
// ]]>
</script>
하지만 위와 같은 방법을 사용하면 F1 의 이벤트 시점을 잡아낼 순 있지만, F1 키로 인한 도움말이 실행되는 것을 막을 순 없다. 저런 방법으로는 뭔짓을 해도 안된다.
몇번의 삽질과 msdn 을 뒤진 끝에 찾아낸 방법은 두 가지가 있는데, 예제를 보면 알겠지만 두 가직의 원리는 결국 같다.
첫 번째는 document 객체의 onhelp 이벤트를 잡아내는 방법이다.
<script type="text/javascript" language="Javascript">
// <![CDATA[
document.onhelp=help_block;
function help_block() {
return false;
}
// ]]>
</script>
// <![CDATA[
document.onhelp=help_block;
function help_block() {
return false;
}
// ]]>
</script>
두 번째는 body element 의 onhelp 이벤트에서 처리하는 방법이다.
<script type="text/javascript" language="Javascript">
// <![CDATA[
function help_block() {
}
// ]]>
</script>
<body onhelp="help_block();return false;">
</body>
// <![CDATA[
function help_block() {
}
// ]]>
</script>
<body onhelp="help_block();return false;">
</body>
두 번째 방법처럼 body element 에서 처리할 경우는 반드시 return false 를 위와 같이 처리해야 한다. 만약 help_block() 함수내에 처리할 경우는 올바르게 block 되지 않는다.
다만, 이 방법들은 Internet Explorer 6.x 에서만 유효하며, Firefox 나 Safari 에서는 동작하지 않는다. IE 7 에서는 테스트 해보지 않아서 어떨지 모르겠다.
'개발이야기' 카테고리의 다른 글
WinFlashGuard.exe Warm 제거하기 (0) | 2008.10.20 |
---|---|
Internet Explorer 7 에서 자기자신 닫아버리기 (0) | 2008.10.17 |
GDI Handle 누수 탐지하기 (2) | 2008.10.17 |
Internet Explorer 7.0 자동 업데이트 막기 (2) | 2007.11.13 |
Microsoft Windows Vista 에서 탐색기에 추가된 옵션. (4) | 2007.10.23 |
윈도우에서 폰트 자동으로 등록하기 (2) | 2007.10.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Windows
- 이표채
- prudent
- qaos.com
- websocket
- 채권
- 의왕
- JavaScript
- coding standard
- SharedSection
- 본사
- VMware
- WsServerContainer
- Internet Explorer 7
- logback
- TyrusServerContainer
- 이미지
- WebLogic
- GDIProcessHandleQuota
- Microsoft
- CODSTA
- 웹표준
- ActiveX
- 할인채
- hp-ux
- 파생
- JTest
- Java
- 미투데이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함