首页 > 解决方案 > 为什么 event.key 突然停止工作?

问题描述

我用event.key了一整天,现在突然它给了我undefined。我 100% 确定今天早些时候它给了我按下的键。任何想法可能发生了什么或代码有问题?

$records_inputs是输入的集合!

$records_inputs.on("input", function(e) {

    var pattern_only_digits = /[0-9]/;
    var input_value = $(this).val();

    alert(e.which + " " + e.key + " " + e.keyCode);

    if (e.keyCode != 8 && !pattern_only_digits.test(e.key)) {
        e.preventDefault();
    }

    console.log(e);

    //$(this).val(numberFormatFromString(removeDotsFromString(input_value)));

});

标签: javascriptjquery

解决方案


which属性仅可用于键盘事件,例如keydownkeypresskeyup事件。因此,根据您的需要使用这些事件来获取按下的键。

$records_inputs.on("keypress", function(e) {

仅供参考:由于已弃用,因此还建议使用key属性而不是属性。whichwhich

InputEvent 的可用属性在此处列出


推荐阅读