如何用jQuery解决OSX死键的问题
How to solve issue with OSX dead keys with jQuery?
有人在github上报告这个问题:MacOS上的死键,在我的代码中,我使用keypress事件插入字符(和keydown为快捷键)使用:
$(document.documentElement || window).bind('keypress.cmd', function(e) {
...
self.insert(String.fromCharCode(e.which));
...
});
有人在使用jQuery修复这个应用程序的经验?在那个键盘上,似乎只有keydown被触发,而不是keypress。
这是唯一的解决方案:如何在Mac OS X上使用国际键盘消除死键?
死键似乎只触发键本身的上下键+实际字符的完整序列。以下是按死^
+ u
(产生û
)时的序列:
down 192 c0 À
up 192 c0 À
down 85 55 U
press 117 75 u
up 85 55 U
这是死去的´
+ u
(= ú
)
down 187 bb »
up 187 bb »
down 85 55 U
press 117 75 u
up 85 55 U
用Shift输入反刻度,因此序列为
down 16 10
down 187 bb »
up 187 bb »
up 16 10
down 85 55 U
press 117 75 u
up 85 55 U
http://jsfiddle.net/r8dMu/(german layout/osx10.9/Chrome).
所以,解决方法可以像这样:
document.body.onkeydown = function(e) {
if(e.which == 229) {
input.value += "^";
e.preventDefault();
}
if(e.which == 187 && e.shiftKey) {
input.value += "`";
e.preventDefault();
}
}
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- FX15 OSX中的Date.parse ddd mmm dd hh:mm:ss UTC+nnnn问题
- 在Mac OSX上运行MongoDB时出现问题
- Safari Mac OSX 退格键问题
- 如何用jQuery解决OSX死键的问题