keypress 和 keydown 上的 String.fromCharCode 返回错误的字符

2024-02-18

我试图捕获在屏幕上显示之前插入的字符以验证屏幕。看我的代码

_this.on('keypress keydown',function(e){
    var t = e.target;
    var k = e.which || e.keyCode;
    var c = String.fromCharCode(k);
    console.log(String.fromCharCode(k))
});

如果我输入~或任何其他标点字符,它返回非拉丁字符,例如å。我使用的是 Chromium、Ubuntu。

我注意到这些特殊字符会忽略按键,这真是遗憾,这就是为什么我也尝试使用按键。但 keydown 无法检测到正确的字符并将其转换为斯堪的纳维亚和亚洲字符。

有没有解决方法可以输入正确的字符?


See 这个精彩的答案 https://stackoverflow.com/a/13127566/5090789对于类似的问题,以及相关的 jsfiddle:http://jsfiddle.net/S2dyB/17/ http://jsfiddle.net/S2dyB/17/

一个问题是keypress and keydown事件不可互换。keypress用于检索输入的实际字符(因此特殊键被忽略),而keydown为键盘上的每个键返回唯一的字符代码。更糟糕的是,不同的浏览器对每个事件的处理方式略有不同,使其变得一团糟。

看看如何e.which之间变化keydown and keypress: http://jsfiddle.net/9TyzP/ http://jsfiddle.net/9TyzP/

正如您所看到的,它们很少匹配 - 并且对于许多键,显示的代码keypress根本没有改变,表明该事件没有针对该键触发。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

keypress 和 keydown 上的 String.fromCharCode 返回错误的字符 的相关文章

  • 如何在下拉列表中选择一个选项

    我正在使用 AngularJS 指令 我需要在模板中设置下拉列表的选定选项
  • RequireJS 文本插件和变量连接字符串

    我正在使用 RequireJS 文本插件来加载一些 html 模板 当我将字符串文字传递给 require 函数时 它工作正常 var templateHTML require text templates template name ht
  • Strapi 未加载 Digital Ocean 上托管的现有 MongoDB 中的集合

    我正在使用 Strapi 创建一个新应用程序 并尝试将其与托管在 Digital Ocean 上的 MongoDB 连接 但不幸的是Strapi 无法从现有 MongoDB 获取集合 在这里 我提到我实现 Strapi 与现有 MongoD
  • Vue Draggable - 如何仅替换所选项目以防止移动网格上的所有其他项目?

    这是一个要测试的示例 https codesandbox io s j4vn761455 file src App vue 112 116 https codesandbox io s j4vn761455 file src App vue
  • SVG 中三角形的圆角

    我正在尝试制作一个具有圆角的三角形 三角形将如下所示 左下角是唯一看起来相当容易制作的角 主要是因为这是一个 90 度的 转弯 该转弯是使用QSVG 中的命令具有以下参数 Q x y height x y height RADIUS从我正在
  • JavaScript 原型 - 请澄清

    有人可以帮我理解原型属性吗 我不明白原型属性是函数的属性还是函数内部的属性 假设我们创建以下构造函数 Food 此时 函数 Food 具有 Food prototype 属性 由于 Food 是 Object 的实例 因此这意味着 Obec
  • 使用 jQuery 检测容器溢出?

    我见过这个问题 https stackoverflow com questions 2059743 detect elements overflow using jquery但感觉必须有一个 更干净 的 jQuery 方法来做到这一点 我什
  • 如何删除从 javascript var 转义的反斜杠?

    我有这个变量 var x div class Which is div class 但是我需要 div class abcdef 我怎样才能 unes cape 这个变量来删除所有转义字符 您可以通过正则表达式将反斜杠后跟引号替换为仅引号
  • 如何在启用导航栏的情况下打开新的浏览器窗口?

    我有这个JS方法 function OpenLink strDestination var features left 10 top 10 location 0 menubar 0 resizable 0 scrollbars 1 stat
  • FormData 中的 Blob 为 null

    我正在尝试通过远程 API 通过 ajax 在 android 中发送创建的照片 我在用着相机图片背景 https github com an rahulpandey cordova plugin camerapicturebackgrou
  • 将数组中的所有元素相乘

    我在这里找不到我真正想要的例子 我想将所有数组元素相乘 因此如果数组包含 1 2 3 总和将为 123 6 到目前为止 我已经得到了这段代码 但它返回未定义 function multiply array var sum 1 for var
  • 仅隐藏那些选择了空值的选择框

    我只想隐藏那些选择了空值的选择框 我有以下 HTML 和 jQuery div class form item div
  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • 使用 javascript 调整图像大小以在画布 createPattern 中使用

    我见过一些关于如何调整图像大小的技巧 在 IMG 标签内使用 但我想在里面有一个图像变量 一个 Javascript 调整它的大小 然后使用 a 中的图像 context createPattern 图像 重复 我还没有找到任何提示 关于如
  • 清理 html 字符串中的所有脚本

    HTML5 剪贴板很棒 但我正在寻找一种使其安全的方法 用户正在将文本 html 粘贴到我的网页中 这允许他们粘贴图像 表格等 我正在寻找一种方法 在将粘贴的内容添加到页面之前删除所有脚本 我需要删除
  • javascript/jquery 禁用点击提交按钮,防止重复提交

    所以我的提交按钮如下所示 a href img src images user create product png border 0 a 当我双击它时 显然会双重提交 问题是 我将信息保存在数据库中 因此那里会有重复的信息 我不想那样 这
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • 无法从 JSON 请求获取数据,尽管我知道它已返回

    我试图获取从 getJSON 返回的数据 但我无法让它工作 我已经在 search twitter API 上尝试了相同的代码 效果很好 但它不适用于其他网站 我知道数据已返回 因为我在使用检查器时可以找到它 我通过检查器找到的值是 id
  • 角度 ng-repeat 根据条件添加样式

    我在 div 列表上使用 ng repeat 并且在渲染此 div 的 json 中手动添加项目 我需要定位我在 json 中添加的最后一个 div 它会自动在屏幕上渲染 即 couse 光标所在的位置 其余部分保持在相同位置 但没有给出渲
  • 使用 div 或表格来包含链接列更好吗?

    我的页面底部有 3 列链接 每列都放入一个 div 中 所有三个 div 都包装在页面中央的一个大 div 中 这是更适合桌子的东西还是桌子不适合这项工作 您还可以使用 ul http www w3schools com tags tag

随机推荐

  • 通过 DBRef 数组查找文档

    解决方案可能就在我面前 但我还没有找到它 我的问题是我需要查找包含指定 DBRef 的所有文档 这是要搜索的集合的结构 id ObjectId 4e2d4892580fd602eb000003 date added ISODate 2011
  • Ruby 有哪些 Python 没有的功能,反之亦然?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 关于 Python 与 Ruby 的讨论有很多 我都发现它们完全没有帮助 因为它们都围绕着为什
  • 如何使用 Django / Python 从 RESTful Web 服务中使用 XML?

    我应该使用 PyXML 还是标准库中的内容 ElementTree 作为标准 Python 库的一部分提供 ElementTree 是纯 python 而 cElementTree 是更快的 C 实现 Try to use the C im
  • 如何在 WiX 片段中获得编辑注册表 CLSID 的提升权限

    我正在尝试将 Windows 桌面搜索设置为使用系统默认过滤器 nlhtml dll 之外的不同 html 过滤器 当我查找 PersistentHandler 时 HKEY LOCAL MACHINE SOFTWARE Classes h
  • ASP.NET Core MVC 视图组件

    在 ASP NET Core MVC 以前称为 MVC 6 中 有一个称为视图组件的新功能区域 它似乎是部分视图的更好替代方案 我看过以下内容查看组件示例 http www asp net vnext overview aspnet vne
  • 在 AppDelegate 之外使用 NIB 创建 UITabBarController?

    对于 iOS 编程来说 我还是个新手 尽管进行了大量的研究 但我还是遇到了另一个障碍 我想要实现的 我想要一个当我从主 UI 导航时加载的 UITabBarController 我还想使用 NIB 来定义其属性 我能找到的所有示例都将 UI
  • Gstreamer视频输出位置跟踪和寻找

    我正在使用 gstreamer gst launch 捕获相机并将流保存为视频和图像帧 管道的问题是 当管道完成 通过中断 视频记录时 它不能支持位置跟踪和查找 因此 视频在 vlc 播放器中播放 长度未知 我认为问题出在管道本身 如何实现
  • 支持内容脚本中的所有 google 域

    我正在制作一个内容脚本 对谷歌结果网页执行某些操作 下面的行在manifest json无效 匹配 https www google 由于清单 json 中的上述行而导致的错误是 content scripts 0 matches 0 的值
  • 在EJB环境中是否有一些行为类似于.wait()和.notify()的东西?

    我知道我不能修改 EJB 容器中的线程 因此我不知道如何在 EJB 环境中以正确的方式执行以下操作 涉及的有 无状态会话 Bean 客户端 无状态会话 Bean 服务器 消息队列 队列 消息驱动 Bean Mdb 处理来自 队列 的消息 n
  • 如何将资源编译到我的应用程序中并访问它们?

    我怎样才能制作一个executable包含 DLL 和图像资源文件的软件包 那么如何在运行时从可执行文件中提取它们呢 使用 IDE 的选项 1 Delphi 2007 或更高版本 您可以单击 项目 菜单 然后选择 资源 您可以将任何文件加载
  • CodeMirror - 从编辑器外部获取 linting 结果

    我正在使用非常棒的 CodeMirror 库 我正在实例化的代码编辑器是表单的一部分 因此我想使用 linting 进行基本检查 以查看用户的输入是否有效 除非代码没问题 否则我不想处理表单 所以问题是 CodeMirror 编辑器实例上是
  • GLKit 和向纹理添加色调

    我在使用 GLKit 对 PNG 图像着色时遇到问题 我有一个白色的 PNG 图像 我将其加载到应用程序中 然后用它来创建纹理 UIImage image UIImage imageNamed brushImage NSError erro
  • 角度错误:StaticInjectorError(平台:核心)[e -> t]:

    当我构建APK时 prod我收到以下错误 ERROR Error StaticInjectorError e gt t StaticInjectorError Platform core e gt t NullInjectorError N
  • 有没有办法限制 javascript 性能来模拟缓慢的客户端

    我正在开发一个使用 jQuery 的网站 并且有大量使用 javascript 运行的网站 document ready 在我的开发机器上 一切运行良好 但它是一台非常强大的机器 我收到过一些使用旧硬件的人的报告 这些硬件的行为看起来很奇怪
  • 包装类的声明[重复]

    这个问题在这里已经有答案了 这个问题是一个问题的延续如何使用 来初始化字符串 https stackoverflow com questions 17489250 how can a string be initialized using
  • 在什么类型的循环中最好使用 CUDA 中的 #pragma unroll 指令?

    在 CUDA 中 可以使用以下方法展开循环 pragmaunroll 指令通过增加指令级并行性来提高性能 这 pragma可以选择后跟一个数字 指定必须展开循环的次数 不幸的是 文档没有给出何时应使用该指令的具体指示 由于编译器已经展开了具
  • Google 表格中的 ArrayFormula 和“AND”公式

    在 Google Sheets 中 当将 ArrayFormula 与 AND 公式一起使用时 我没有得到应有的结果 A B 6 7 In C1我把公式写为 and A1 gt 5 B1 gt 6 然后我得到True 如果在 D1 中我输入
  • 为什么在 Web api 方法中返回接口时,我会得到带有接口值的继承类的值?

    我有一个从 Interface 继承的类 并且我从我的 web api get methed 返回接口 问题是我将继承类的值作为 json 字符串获取 这是界面 public interface IFoo string A get set
  • ASIHTTPRequest 可以重试吗?

    有没有办法重试 ASIHTTPRequest 我在 REST 服务中使用自定义身份验证而不是基本 HTTP 身份验证 并且我想在会话过期时重试请求 对请求第二次调用 startAsynchronous 会导致异常 我想做这样的事情 requ
  • keypress 和 keydown 上的 String.fromCharCode 返回错误的字符

    我试图捕获在屏幕上显示之前插入的字符以验证屏幕 看我的代码 this on keypress keydown function e var t e target var k e which e keyCode var c String fr