检测何时按下@键

mus*_*fan 4 javascript jquery

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

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

});
Run Code Online (Sandbox Code Playgroud)

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

理想情况下,我想要以下内容,以便以后更容易配置...

event.something == "@";
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

Sha*_*ali 7

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

$("#target").keypress(function(event) {
  if ( event.which == 64 ) {
    alert("weehee");
  }
});
Run Code Online (Sandbox Code Playgroud)

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

夏嘉曦