2

我正在使用下面的 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();"到所有文本框中。

我有两个单选按钮和两个文本框,选中后使另一个文本框只读。当按下退格键时,它不会返回页面,但我无法从可编辑文本框中删除。请建议。谢谢!

4

1 回答 1

2

当用户当前专注于文本框时,退格键不会导致浏览器返回。文本框中的退格键用于删除字符 - 由于您添加了preventDefault(),因此您正在阻止该行为的发生。

如果您的目标是防止用户在完成之前意外离开表单,您可以使用window.onbeforeunload显示允许用户取消导航的警告消息:

window.onbeforeunload = function() {
    return "Are you sure you want to leave this page?  Your current entries" +
        " will be lost.";
};
于 2013-01-24T15:17:29.167 回答