Heim >Web-Frontend >js-Tutorial >js verbietet Browser-Back-Ereignisse

js verbietet Browser-Back-Ereignisse

php中世界最好的语言
php中世界最好的语言Original
2018-04-18 14:56:022301Durchsuche

Dieses Mal bringe ich Ihnen js zum Deaktivieren von Browser-Back-Ereignissen zum Deaktivieren von Browser-Back-Events in js. Schauen wir uns das hier an.

Im Projekt bin ich auf das Problem gestoßen, dass ich die Rücktaste drücken musste, um den Browser zurückzusetzen. Ich habe online nach mehreren Lösungen gesucht, aber keine davon war ideal. Also haben wir die Weisheit aller gesammelt, die Stärken vieler Familien übernommen und es wie folgt zusammengefasst:

1. Definieren Sie die Methode zum Blockieren der Rücktaste in öffentlichen 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;
}
Die Methodenkommentare sind sehr klar, daher werde ich hier nicht zu viel erklären.

2. Rufen Sie diese Methode auf, nachdem die Seite geladen wurde

$(function(){
 //实现对字符码的截获,keypress中屏蔽了这些功能按键
 document.onkeypress = banBackSpace;
 //对功能按键的获取
 document.onkeydown = banBackSpace;
 })
Hinweis: Tastenereignis-Auslösesequenz: keydown -> keypress ->textInput -> Es liegt ein Problem vor: Nachdem die Auswahlliste

erweitert wurde, können Tastaturereignisse nicht abgerufen werden. Wenn Sie zu diesem Zeitpunkt die Rücktaste drücken, kehrt der Browser weiterhin zum Verlauf zurück: Lösung Klicken Sie auf das Dropdown-Feld „Auswählen“ und dann auf das Kombinationsfeld von easyUI.

Ich glaube, Sie haben die Methode gemeistert, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! Empfohlene Lektüre:

JS-Homepage-News-Sliding-Effekt

JS-Klickzyklus, um zur Bildwiedergabe zu wechseln

Das obige ist der detaillierte Inhalt vonjs verbietet Browser-Back-Ereignisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn