2012-03-11 5 views
3
.keydown(function(e){ 
     alert(e.keyCode); 
... 

이렇게하면 8을 '백 스페이스'버튼의 키로 반환합니다. 문제는 브라우저가 역사에서 돌아온 것입니다!백 스페이스 키가 이전 페이지로 이동하지 못하도록 함

이것은 Windows 브라우저에서 가장 귀찮은 동작입니다. 삭제 및 백 스페이스 키로 목록 상자 값을 지우려고하는 것입니다. 이 동작이 싫고 IE와 Chrome에서 정확히 동일합니다.

백 스페이스 키를 사용할 수있는 아이디어가 있습니까?

답변

9

그냥 preventDefault()를 사용

$(document).keydown(function(e){ 
    if (e.keyCode == 8) e.preventDefault(); 
}); 

참고 그러나이 입력 필드에서 작동하는 백 스페이스를 방지 할 수있다.

$(document).keydown(function(e){ 
    if (e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') { 
     e.preventDefault(); 
    } 
}); 
+0

음에서 멀리 이동하면 사람들에게 경고하기 위해입니다 onbeforeunload 이벤트를 사용할 수 있습니다, 나는 단지 돼 사용이 쉽게 다음과 같이 해결 될 수있다 그것은 내 목록 상자에 대한. 하지만 조언 주셔서 감사합니다! – Anonymous

+0

아, 두 번째 것은 너무 깔끔하게 보입니다. 많이 고마워! 편집 : 유일한 문제는 그것이 작동하지 않습니다 - imputs somewhy 무시하지 않습니다. – Anonymous

+0

정답 인 경우 user1125062로 표기하십시오. – DaveDev

0

사용에서 preventDefault() 및 추가 경비로 당신은 그들이 당신의 페이지

관련 문제