我正在学习面向对象的javascript。由于我对排版充满热情,我正在制作一个OO js简单的HTML类型编辑器,它可以监听按键的“持续时间”,以便用字体的特定变量修改每个字母的重量。
到目前为止,我有一个可以在codepen上看到的工作版本:http://codepen.io/Pggo/pen/vLNKve只需在键盘上键入几个字母,然后点击键进行测试!
我的js文件的代码示例(请参阅codepen上的完整代码):
// ...
// get duration of the key pressed event
var duration = ( e.timeStamp - pressed[e.which] ) / 1000;
// use .fromCharcode to get the alphabetical equivalent of the .which notation
var letter = String.fromCharCode(e.which);
// convert letter to lowercase (comes in uppercase)
var lowerCaseLetter = letter.toLowerCase();
// ...
我正在努力实现以下目标:
问题:
有没有办法让使用所有键盘“正常”行为的任务更容易? (我首先尝试使用textarea texteditable HTML标签,但用js获取那个人的事件并不容易)。
赞赏每个输入
答案 0 :(得分:2)
.keyup()
和.keydown()
都会为你提供javascript密钥,而不是String.fromCharCode()
想要的ASCII密码。但是,.keypress()
会为您提供正确的价值。考虑到这一点,您可以对您的应用进行一些细微的更改,它应该按预期工作:http://codepen.io/anon/pen/eJpzam。
虽然,您可能希望一次处理多个字符,因为此解决方案一次只能处理一个字符。