我的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;
}
}
任何帮助都将受到高度赞赏。
答案 0 :(得分: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
答案 1 :(得分:0)
试试这个,
document.attachEvent('onkeydown', function () {
if (window.event.keyCode == 27) {
window.event.returnValue = false;
}
});