无法在 Ubuntu 14.04 中使用 Chrome 64 位在输入类型=“数字”中退格。适用于 Firefox

nwo*_*bug 5 javascript jquery types numbers backspace

我正在尝试使用 Biff MaGriff 发布的以下代码作为早期解决方案,以防止使用退格键导致浏览器返回历史页面。我的问题是代码不允许在 type="number" 中退格(删除)字符。

$(document).keydown(function (e) {
    var preventKeyPress;
    if (e.keyCode == 8) {
        var d = e.srcElement || e.target;
        switch (d.tagName.toUpperCase()) {
            case 'TEXTAREA':
                preventKeyPress = d.readOnly || d.disabled;
                break;
            case 'INPUT':
                preventKeyPress = d.readOnly || d.disabled ||
                    (d.attributes["type"] && $.inArray(d.attributes["type"].value.toLowerCase(), ["radio", "checkbox", "submit", "button"]) >= 0);
                break;
            case 'DIV':
                preventKeyPress = d.readOnly || d.disabled || !(d.attributes["contentEditable"] && d.attributes["contentEditable"].value == "true");
                break;
            default:
                preventKeyPress = true;
                break;
        }
    }
    else
        preventKeyPress = false;

    if (preventKeyPress)
        e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

<input id="tesnprice" type="number" step=0.01 name="price" size="50" maxlength="6" />
Run Code Online (Sandbox Code Playgroud)