2012-08-07 8 views
0

자바 스크립트에서 이벤트를 재정의 할 수 있습니까?자바 스크립트에서 이벤트 재정의

예 : F12 키를 누르면 이벤트가 발생하면, 나는 또는 공간 키보드의 키로 처리하는 브라우저가 필요합니다.

+1

함수가 트리거되는 키를 변경 하시겠습니까? 아니면 오해입니까? –

+0

F12 키의 기본 키를 금지 할 수 있습니다. 그러나 Tab이나 Space를 원하는 방식으로 자신의 코드로 에뮬레이션해야합니다. 그리고 시뮬레이션은 현재 상황에서 필요한 것에 달려 있습니다. – Flops

+0

아마도'keypress' 이벤트를 감지하여 F12 키로 인한 것인지를 결정할 수 있으며, 그렇다면 동일한 엘리먼트에서 눌려진'tab' 또는'space' 키를 나타내는 새로운'keypress' 이벤트를 프로그래밍 방식으로 트리거합니다. –

답변

3

이것이 작동하는지 테스트하지 않으면, 이것은 내가 시도 할 라인을 따른 것입니다.

는 본질적으로 를 keyDown 이벤트를 수신하고, 누른 키가 F12 인 경우, 다른 keydowneventtab을 시뮬레이션 화재. 당신이 문서keydown 이벤트를 트리거 할 수있는 경우

$(document).keydown(function(event) { 
    if(event.which == 123) { // Chrome code for F12 
    event.preventDefault(); // Stop the default actions for this event. 
    var press = jQuery.Event("keydown"); // Create a new keypress event. 
    press.ctrlKey = false; // No control key down 
    press.which = 9; // Chrome code for tab 
    $(document).trigger(press); // Fire the keypress event for tab 
    } 
}); 

는 잘 모르겠어요, 그뿐만 아니라 단지 추측.

+0

질문에 jQuery 태그가 붙어 있기 때문에 jQuery라고 가정 할 수 있습니다. – nalply

+0

키 누르기를 트리거 할 수 있습니다. http://stackoverflow.com/a/832121/220060 – nalply

+0

감사합니다. @nalply, jQuery 설명을 삭제했습니다. 나는 당신이 keypress 이벤트를 일으킬 수 있다는 것을 알고 있습니다. 내가 목표로 한 것은 페이지에서 다른 요소를 선택하는 대신 ** 문서 **를 선택하고 이벤트를 트리거 할 수 있는지 여부입니다. – Aesthete

관련 문제