1

我该如何使用

$('div').bind('keyup', function(e) {

   if(e.which == '@') {

   }

});

想知道如何获得@符号keyup

4

3 回答 3

2

使用String.fromCharCode方法。反函数是"@".charCodeAt(0)
e.which仅保存有关事件中按下的键的敏感数据keypress。但是,当按下一个键时,此事件将触发多次。

如果您需要一种可靠的方法来检查事件期间某个键的字符keyup,请创建字符图。此页面将为您提供帮助。

$('div').bind('keypress', function(e) {
   var char = String.fromCharCode(e.which);
   if(char == '@') {

   }
});
于 2011-10-27T16:45:54.043 回答
0

您可以在发布此类问题之前尝试自己

JSBin做一个简单的测试:

http://jsbin.com/afapar/2/edit#javascript,html,live

然后,您将确切地知道要寻找什么。


顺便说一句,因为您需要担心所有移动设备和浏览器上的大量问题,我建议您使用indexOf()它或它的变体,例如:

$("#txt").bind("keyup", function(evt) {
   if( $(this).val().indexOf("@") > 0 ) {
       // got it
   }
});

或者如果您需要知道它是否是最后一个字符:

if( $(this).val().lastIndexOf("@") == $(this).val().length - 1) 
{
    // got it
}
于 2011-10-27T16:48:01.903 回答
-1

这似乎工作.. http://jsfiddle.net/jNeH9/2/

$(document).bind('keyup', function(e) {
   if(e.which == 50 && e.shiftKey)
   {

   }

});
于 2011-10-27T16:52:03.297 回答