@Query的jQuery KeyUp

时间:2011-10-27 16:41:51

标签: jquery click keycode keyup

我该如何使用

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

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

   }

});

想知道我如何获得@的{​​{1}}符号?

3 个答案:

答案 0 :(得分:2)

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

如果在keyup事件期间需要可靠的方法来检查键的字符,请创建一个字符映射。 This page会帮助你。

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

   }
});

答案 1 :(得分: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
}

答案 2 :(得分:-1)

这似乎有效.. http://jsfiddle.net/jNeH9/2/

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

   }

});