event.preventDefault
및 event.stopPropagation
을 시도하고 이벤트 처리기에서 false를 반환했습니다.브라우저의 키 기본 동작 방지
브라우저의 특정 키 동작을 방지하지 못합니다.
예를 들어 내가 기록 AngularJS와 응용 프로그램, 다음 또는 이전 기록을 가져 오는에 (이전 다음,) 사이를 이동하는페이지 아래로 및 페이지 위로를 사용하고 싶습니다. 그것은 잘 작동합니다. 그러나 브라우저가 기본 동작을 수행하는 것을 막지는 않습니다. Page Down 또는 Page Up. 예를 들어, select (dropdown) 요소 위에 서있는 동안 버튼을 누르면 드롭 다운 선택이 변경되고 THEN은 다음 레코드로 이동합니다. 덮어 쓰기가 불가능한 다른 많은 유용한 키들도 마찬가지입니다 : 홈, 끝 (포커스가있는 경우 첫 번째 또는 마지막 선택으로 선택 드롭 다운을합니다).
여기에 내 현재 코드입니다 :
당신이 내가 현재 다른 키를 사용하고 있습니다시피$document.bind('keyup', function(e) {
switch (e.keyCode) {
case 109:
if (e.altKey) {
$scope.gotoPrev(e);
e.preventDefault();
e.stopPropagation();
window.scrollTo(0, 0);
return false;
}
break;
case 107: ....
(Alt 키+, Alt 키- 등) 대신 페이지 아래로 및 의 Page Up. 그러나 나는 그것들을 사용하고 싶었다.
또 다른 관련 질문은 URL 키로 탭 키 탭을 방지하는 방법입니다. 나는 그 페이지의 필드를 통해서만주기를 원하고 그 페이지에서 URL 영역으로 뛰어 내리지 않기를 원합니다.
e.stopImmediatePropagation? – steven
아니요 키를 누르기 전에 키를 눌렀을 때 기본 동작이 실행되기 때문입니다. 아래 답변에서 제안 된대로 나는 keydown에 dit를 바꾼다. 이제 기본 동작을 취소 할 수있다. –