次のエディターは、Backspace キーを無効にしてブラウザーを元に戻すための JS メソッドを提供します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターをフォローして見てみましょう
プロジェクト中に Backspace キーを押してブラウザを戻すという問題に遭遇しましたが、オンラインでいくつかの解決策を検索しましたが、どれも理想的なものではありませんでした。そこで、皆さんの知恵を集め、皆さんの長所を学び、次のようにまとめました:
1. public js で Backspace を防ぐメソッドを定義します
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 -> 問題:選択ドロップダウン リストを展開した後、この時点で Backspace キーを押すと、ブラウザは依然として履歴に戻ります。解決策: 選択ドロップダウン ボックスを easyUI のコンボボックスに変更します。
以上がBackspace キーを無効にしてブラウザを戻るようにする js を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。