检测何时按下@键

时间:2011-12-07 15:02:23

标签: javascript jquery

我试图检测用户何时按下文本框中的@键。我可以使用JQuery来处理keyup事件,如此......

$('#target').keyup(function(event) {

});

但是我从这里做什么来测试@角色?我知道我可以使用event.which来获取密钥代码。但在这种情况下,我还需要检查移位 - 技术上这不是问题,但我知道@key可以使用不同的语言设置移动,我担心这可能会证明是不一致的。也许我错误地担心,我可以依赖它SHIFT + 192

理想情况下,我希望以下内容允许以后更容易配置......

event.something == "@";

感谢您的帮助

2 个答案:

答案 0 :(得分:6)

尝试检查event.which == 64,因为64是at符号的ascii(未经过测试,但应该有效)

$("#target").keypress(function(event) {
  if ( event.which == 64 ) {
    alert("weehee");
  }
});

如果失败,您可以在keyup(用户释放密钥)后检查,如果他输入文本字段的最后一个字符是@符号,并采取相应的行动。

答案 1 :(得分:4)

您可能希望使用keypress事件来测试特定字符而不是密钥。见:http://api.jquery.com/keypress/