0

我的 JSP 页面有问题

当用户填写表单字段并按两次退出键时,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 回答