0

JSP ページに問題があります

ユーザーがフォーム フィールドに入力中にエスケープ キーを 2 回押すと、IE8 はページのすべてのテキスト フィールドを自動的にクリアします。この問題の解決策はありますか?

またはこれをまったく無効にする方法は?

次のコードを使用して「Esc」キーを無効にしましたが、問題は解決されず、コードが機能しません

 if (key == 27) {
 cancelKey(event); 
 return false;}

 function cancelKey(evt) { 
    if (evt.preventDefault) { 
    evt.preventDefault(); 
    return false; 
    } 
    else { 
    evt.keyCode = 0; 
    evt.returnValue = false; 
    } 
    } 

どんな助けでも大歓迎です。

4

2 に答える 2

0

これを試して

<script type="text/javascript"> 

(function() /* Prevent Esc deleting imput and if input is readonly, stop backspace acting as 'Back' */
{
  var inps = document.getElementsByTagName( 'input' ), /* Place BELOW all <input>s */
      field;

  function ih( obj, evt, func )
  { 
    obj.attachEvent ? obj.attachEvent( 'on' + evt, func ) : obj.addEventListener( evt, func, false );
  }      

  function k( e )
  {  
    var evt = ( e || window.event ),
        elem = evt.srcElement || evt.target,
        ro = elem.getAttribute('readonly');

    if( evt.keyCode == 27 || ( ro && evt.keyCode == 8 ) )
      evt.preventDefault ? evt.preventDefault() : evt.returnValue = false;  
  };

  for( var i = 0; ( field = inps[ i ] ); i++ ) 
    ih( field, 'keydown', k );          
})()

</script>

機能する場合と機能しない場合があります。多くの [ホット キー] は防止できません。ソース: http://www.webdeveloper.com/forum/showthread.php?217535-esc-key-clears-html-input-text-values

于 2013-07-26T08:48:08.097 に答える
0

これを試して、

document.attachEvent('onkeydown', function () {
     if (window.event.keyCode == 27) {
           window.event.returnValue = false;
      }
});
于 2015-06-02T09:22:46.893 に答える