Maison > interface Web > js tutoriel > Comment désactiver la touche Retour arrière en JavaScript

Comment désactiver la touche Retour arrière en JavaScript

PHPz
Libérer: 2018-10-13 16:25:11
original
1473 Les gens l'ont consulté

Aujourd'hui, j'ai découvert dans le navigateur IE que lors de la définition de la zone de texte en lecture seule à l'aide de l'attribut readonly="readonly" il y a un problème étrange : si le curseur entre dans la zone de texte en lecture seule et puis appuyez sur Appuyez sur la touche Retour arrière pour passer à la page précédente. L'effet est similaire à celui d'un clic sur le bouton Précédent du navigateur pour revenir à la page précédente. Cependant, il n'y a pas de problème de ce type sous Firefox et Google. Afin de résoudre ce problème, je le fais. a écrit ce qui suit La méthode de traitement, si la zone de texte est en lecture seule, alors désactivez la touche Retour arrière.
Le code est le suivant :

//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外
 function banBackSpace(e){ 
  var ev = e || window.event;//获取event对象 
  var obj = ev.target || ev.srcElement;//获取事件源 
  var t = obj.type || obj.getAttribute('type');//获取事件源类型 
  //获取作为判断条件的事件类型
  var vReadOnly = obj.getAttribute('readonly');
  //处理null值情况
  vReadOnly = (vReadOnly == "") ? false : vReadOnly;
  //当敲Backspace键时,事件源类型为密码或单行、多行文本的,
  //并且readonly属性为true或enabled属性为false的,则退格键失效
  var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea") 
     && vReadOnly=="readonly")?true:false;
  //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
  var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")
     ?true:false;  
  
  //判断
  if(flag2){
   return false;
  }
  if(flag1){ 
   return false; 
  } 
 }

window.onload=function(){
 //禁止后退键 作用于Firefox、Opera
 document.onkeypress=banBackSpace;
 //禁止后退键 作用于IE、Chrome
 document.onkeydown=banBackSpace;
}
Copier après la connexion

Après avoir ajouté ce traitement, vous pouvez facilement résoudre le problème de "appuyer sur la touche Retour arrière dans la lecture -boîte de saisie uniquement sous IE Problème "Retour à la page précédente".

J'espère que cet article vous plaira et que vous continuerez à prêter attention aux articles mis à jour par l'éditeur.

【Tutoriels associés recommandés】

1. Tutoriel vidéo JavaScript
2 Manuel en ligne JavaScript
3. tutoriel bootstrap

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal