【发布时间】:2012-08-21 11:32:01
【问题描述】:
我想在用户键入“@”时启动一个操作(启用自动完成)。我有可用的 jQuery。
通常在 QWERTY 键盘上是这样的:
$('textarea').live('keydown', function(e) {
if (e.which === 50) {
console.log('@ has been entered.');
}
});
但是它不能在 AZERTY 键盘上正常工作。 keyCode = 50 对应于 é~/2 键。要在 AZERTY 键盘中输入“@”,它是 AltGr + à@/0 kbd> 键。
编辑:自动完成在输入 @ 时开始,并且仅在此之后。例如,当有人输入“Hello @”然后它开始,但是当他输入“Hello @nothing else”时,完整不会做任何事情。示例:http://mrkipling.github.com/jQuery-at-username/(仅适用于 QWERTY 键盘)。
【问题讨论】:
-
D'oh,我没有注意到 StackOverlow 的评论中的用户名自动完成功能正是我所需要的。
标签: javascript jquery events keyboard multilingual