Maison > Article > interface Web > Implémentez js pour désactiver la touche Retour arrière afin de faire revenir le navigateur en arrière
L'éditeur suivant vous apportera une méthode d'implémentation pour désactiver la touche Retour arrière pour faire revenir le navigateur en js. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil.
J'ai rencontré le problème d'appuyer sur la touche Retour arrière pour faire revenir le navigateur en arrière pendant le projet. J'ai cherché plusieurs solutions sur Internet, mais aucune n'était idéale. Nous avons donc rassemblé la sagesse de chacun et adopté les points forts de chacun, et l'avons résumé comme suit :
1 Définir la méthode pour empêcher le retour arrière dans public 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; }
Les commentaires de la méthode sont écrits très clairement, je n'expliquerai donc pas trop ici.
2. Appelez cette méthode une fois la page chargée
$(function(){ //实现对字符码的截获,keypress中屏蔽了这些功能按键 document.onkeypress = banBackSpace; //对功能按键的获取 document.onkeydown = banBackSpace; })
Remarque : Séquence de déclenchement d'un événement clé : keydown -> keypress ->textInput -> keyup
Il y a un problème : une fois la liste déroulante de sélection développée, le l'événement clavier ne peut pas être obtenu. À ce moment, appuyez sur la touche Retour arrière, le navigateur reviendra toujours à l'historique : remplacez la liste déroulante de sélection par la liste déroulante d'easyUI
;Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!