이번에는 브라우저 뒤로 이벤트를 비활성화하는 js를 소개하겠습니다. 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 ->keypress ->textInput -> 문제가 있습니다. 선택
드롭다운 목록을 확장한 후 키보드 이벤트를 가져올 수 없습니다. 이때 백스페이스 키를 누르면 브라우저가 여전히 기록으로 돌아갑니다. 해결 방법: 선택 드롭을 변경하세요. -down box to easyUI의 콤보박스; 이 글을 읽으셨을 것입니다. 더 흥미로운 정보를 얻으려면 PHP 중국어 웹사이트의 다른 관련 글을 읽어보세요!
추천 도서:
JS 홈페이지 뉴스 슬라이딩 효과JS 클릭하여 재생 사진으로 전환위 내용은 js는 브라우저 뒤로 이벤트를 금지합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!