javascript - 为什么 `charCodeAt(0)` 和 `e.keyCode` 的结果不匹配?

标签 javascript jquery

知道为什么 charCodeAt(0)e.keyCode 的结果不匹配吗?我该如何解决这种情况?

var stop_symbols = $("#words_stop_symbols span").text().split('').map(function (val) {return val.charCodeAt(0);});
    console.dir(stop_symbols);
    //
    $(document).on("keydown", ".quick-edit", function(e) {
        console.dir(e.keyCode);
        if ($.inArray(e.keyCode,stop_symbols) != -1) {
            // 
            console.dir("blocked char")
            return false;
        }
    });

最佳答案

使用按键事件将起作用:

$(document).on("keypress", ".quick-edit", function (e) {
    if ($.inArray(e.keyCode, stop_symbols) != -1) {
        return false;
    }
});

FIDDLE

关于javascript - 为什么 `charCodeAt(0)` 和 `e.keyCode` 的结果不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19736964/

相关文章:

javascript - 将显示从 block 更改为无,然后淡入

javascript - 将原型(prototype)添加到 JSON 字符串中的所有对象

javascript - 实时计算两个 HTML 日期输入字段之间的日期

javascript - 幻灯片之间的 jQuery/CSS 转换问题会扰乱位置 :fixed performance inside slide

javascript - 如何将使用 javascript 从 for 循环生成的 svg 堆叠在一起?

javascript - WebElement 位置与 window().getSize() 的预期值不匹配

javascript - 如何根据从不同选择框中选取的选项使选择框可见

javascript - Select2 templateResult 数据没有可引用的元素

jquery-ui - Jquery droppable获取多个draggable id

javascript - 如何获得最大文档滚动值