我正在使用HTML / Javascript开发一个简单的控制台程序,其中一个基本要求是当用户按住某个键时,它应该重复。
这在Windows中完美运行。当我按下一个键时,它会触发多个配对的keydown / keypress事件,我可以将它们发送到服务器。但是,在几个浏览器(Chrome,Safari,FF)中的OS X 10.9.5上,只有keydown会继续触发事件。例如,当我按住t时,会触发以下事件:
keydown charCode=0, keyCode=84
keypress charCode=116, keyCode=0
keydown charCode=0, keyCode=84
keydown charCode=0, keyCode=84
keydown charCode=0, keyCode=84
keydown charCode=0, keyCode=84
keydown charCode=0, keyCode=84
keydown charCode=0, keyCode=84
keydown charCode=0, keyCode=84
此外,在一两秒后,我看到一个弹出窗口,允许我从几个特殊字符中进行选择。谷歌表示这是“按住”功能,但我似乎找不到禁用它的方法(对所有用户而言,不仅仅是对我而言)。
处理此问题的最佳方法是什么?