我正在使用以下JavaScript函数来阻止退格返回。
function preventBackspace(e) {
var evt = e || window.event;
if (evt) {
var keyCode = evt.charCode || evt.keyCode;
if (keyCode === 8) {
if (evt.preventDefault) {
evt.preventDefault();
} else {
evt.returnValue = false;
}
}
}
}
我已将onkeydown="preventBackspace();"
添加到所有文本框中。
我有两个单选按钮和两个文本框,选中后会使另一个文本框只读。点击退格键时,它不会返回页面,但我无法从可编辑的文本框中删除。请建议。谢谢!
答案 0 :(得分:2)
当用户当前专注于文本框时,退格键会不导致浏览器返回。文本框中的退格键用于删除某个字符 - 由于您已添加preventDefault()
,因此您可以停止该行为的发生。
如果您的目标是阻止用户在完成之前意外离开表单,您可以使用window.onbeforeunload
显示允许用户取消导航的警告消息:
window.onbeforeunload = function() {
return "Are you sure you want to leave this page? Your current entries" +
" will be lost.";
};