Unable to backspace on input type = "number" using Chrome 64bit on Ubuntu 14.04. Works in Firefox

I am trying to use the below Biff MaGriff code for an earlier solution to prevent the use of backspace, which makes the browser return a page in history. My problem is that the code won't let you do the reverse (remove) characters in 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();
});

      

My code looks like this:

<input id="tesnprice" type="number" step=0.01 name="price" size="50" maxlength="6" />

      

+3


source to share





All Articles