如何解决因屏蔽delete键而无法退格的问题,特别是IE只读输入框中的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计165个文字,预计阅读时间需要1分钟。
当使用IE浏览器时,按下Delete键会导致页面回退,同时导致页面中缓慢录入的数据丢失。为了防止这种情况,可以将以下JavaScript代码放置在页面底部:
javascript$(document).keydown(function(event) { // 在jQuery中,event已经被封装,下面的语句已无意义 // event 总是会被捕获});
IE 浏览器按delete键导致页面回退,辛辛苦苦录入的数据丢失。// 将此js代码放在页面的底部 $(document).keydown(function(event){ // 在jquery中event已被封装,下面的语句没有意义了,event总是会被传递 // event = event || window.event; // IE的event.keyCode和非IE的event.charCode被封装成event.which if(event.which == 8){ //当前焦点不在input或textarea时禁用delete键 var name = document.activeElement.tagName.toUpperCase(); if(name != 'INPUT' && name != 'TEXTAREA'){ return false; } // readonly element in IE if((name == 'INPUT' || name == 'TEXTAREA') && document.activeElement.readOnly){ return false; } } });
本文共计165个文字,预计阅读时间需要1分钟。
当使用IE浏览器时,按下Delete键会导致页面回退,同时导致页面中缓慢录入的数据丢失。为了防止这种情况,可以将以下JavaScript代码放置在页面底部:
javascript$(document).keydown(function(event) { // 在jQuery中,event已经被封装,下面的语句已无意义 // event 总是会被捕获});
IE 浏览器按delete键导致页面回退,辛辛苦苦录入的数据丢失。// 将此js代码放在页面的底部 $(document).keydown(function(event){ // 在jquery中event已被封装,下面的语句没有意义了,event总是会被传递 // event = event || window.event; // IE的event.keyCode和非IE的event.charCode被封装成event.which if(event.which == 8){ //当前焦点不在input或textarea时禁用delete键 var name = document.activeElement.tagName.toUpperCase(); if(name != 'INPUT' && name != 'TEXTAREA'){ return false; } // readonly element in IE if((name == 'INPUT' || name == 'TEXTAREA') && document.activeElement.readOnly){ return false; } } });

