>  기사  >  웹 프론트엔드  >  브라우저가 뒤로 돌아가도록 백스페이스 키를 비활성화하는 js를 구현합니다.

브라우저가 뒤로 돌아가도록 백스페이스 키를 비활성화하는 js를 구현합니다.

巴扎黑
巴扎黑원래의
2017-09-02 14:04:402256검색

다음 편집기는 백스페이스 키를 비활성화하여 브라우저를 다시 돌아가게 하는 js 메서드를 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리도록 하겠습니다. 편집자를 따라가서 살펴보겠습니다.

프로젝트 도중 브라우저를 다시 돌아가게 하기 위해 백스페이스 키를 누르는 문제에 직면했습니다. 온라인에서 여러 가지 솔루션을 검색했지만 그 중 어느 것도 이상적이지 않았습니다. 그래서 우리는 모두의 지혜를 모아서 모두의 장점에서 배워서 다음과 같이 정리했습니다.

1. 공개 js에서 백스페이스를 방지하는 방법을 정의합니다


function banBackSpace(e){
 var ev = e || window.event;
 //各种浏览器下获取事件对象
 var obj = ev.relatedTarget || ev.srcElement || ev.target ||ev.currentTarget;
 //按下Backspace键
 if(ev.keyCode == 8){
 var tagName = obj.nodeName //标签名称
 //如果标签不是input或者textarea则阻止Backspace
 if(tagName!='INPUT' && tagName!='TEXTAREA'){
  return stopIt(ev);
 }
 var tagType = obj.type.toUpperCase();//标签类型
 //input标签除了下面几种类型,全部阻止Backspace
 if(tagName=='INPUT' && (tagType!='TEXT' && tagType!='TEXTAREA' && tagType!='PASSWORD')){
  return stopIt(ev);
 }
 //input或者textarea输入框如果不可编辑则阻止Backspace
 if((tagName=='INPUT' || tagName=='TEXTAREA') && (obj.readOnly==true || obj.disabled ==true)){
  return stopIt(ev);
 }
 }
}
function stopIt(ev){
 if(ev.preventDefault ){
 //preventDefault()方法阻止元素发生默认的行为
 ev.preventDefault();
 }
 if(ev.returnValue){
 //IE浏览器下用window.event.returnValue = false;实现阻止元素发生默认的行为
 ev.returnValue = false;
 }
 return false;
}

방법 댓글이 매우 명확하지만 여기에는 설명이 너무 많지 않습니다.

2페이지가 로드된 후 이 메소드를 호출하세요


$(function(){
 //实现对字符码的截获,keypress中屏蔽了这些功能按键
 document.onkeypress = banBackSpace;
 //对功能按键的获取
 document.onkeydown = banBackSpace;
 })

참고: 키 이벤트 트리거 시퀀스: keydown ->textInput -> 선택 드롭다운 목록이 확장된 후에는 키보드 이벤트를 얻을 수 없습니다. 이때 백스페이스 키를 누르면 브라우저는 여전히 기록으로 돌아갑니다. 해결 방법: 선택 드롭다운 상자를 easyUI의 콤보 상자로 변경하세요.

위 내용은 브라우저가 뒤로 돌아가도록 백스페이스 키를 비활성화하는 js를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.