Javascript HTML5 捕获 keyCode 并写入 Canvas

标签 javascript html canvas keycode

我正在编写一个需要模拟文本区域的应用程序。我知道如何处理它的唯一方法是在关键事件上捕获 keyCode。如何获取该 keyCode 并支持 utf-8,将其应用于 Canvas ?

干杯

最佳答案

这似乎是个坏主意,因为文本区域免费为您提供了很多文本输入(插入符号、选择、剪切、粘贴、拖放、箭头键处理等),但这里是你需要做两件事:

  1. 提供您的 <canvas>一个tabindex属性,以便它可以接收焦点,从而引发关键事件;
  2. 添加 keypress (不是 keydown )处理程序到 <canvas>用于捕获文本输入的元素。

代码:

<canvas id="textarea" tabindex="1" width="300" height="200"></canvas>

<script type="text/javascript">
   var el = document.getElementById("textarea");
   el.onkeypress = function(evt) {
       var charCode = evt.which;
       var charStr = String.fromCharCode(charCode);
       alert(charStr);
   };
</script>

关于Javascript HTML5 捕获 keyCode 并写入 Canvas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3729034/

相关文章:

javascript - 使用对 Canvas 的外部引用渲染 SVG

javascript - 保存字体文件以供离线查看

javascript - 检测页面退出时 PrimeFaces 中 UI 组件的客户端更改?

javascript - .appendChild() 单击时的 HTML 元素

python - 根据之前的标签使用 BeautifulSoup 解析 HTML

html - 在不使用媒体查询的情况下定位平板电脑

javascript - 如何缩放和旋转由带有 Canvas 的 html5 GetUserMedia API 流式传输的网络摄像头视频?

javascript - 使用 bluebird promises 的 ms sql 资源管理

jquery - FireFox 中使用 jQuery DataTables 时出现样式错误

javascript - 全局复合操作