jQuery - 如果Value = 1 fadeIn

时间:2011-07-15 03:15:18

标签: javascript jquery

是否有任何替代onKeyUp的说法,如果键入字母,请执行此操作,因为onKeyUp shift,enter,backspace等计数。

例如,如果value.div1 = 1,则在div2中淡出。

非常感谢

编辑: 好吧,我不清楚。对不起,我的意思是:

我有一个textarea。如果在textarea中输入了字母[不是KeyUP,Keypress等],则fadeIn div1。

抱歉,再次感谢

4 个答案:

答案 0 :(得分:1)

以下仅对字母键执行操作:

$("your selector here").keyup(function(event) {
  var key = event.which;
  if (key >= 65 && key <= 90) {
    // a letter key was pressed; 65=A, 90=Z
  }
});

jQuery keyup doco说:“为了捕捉实际的文字输入,.keypress()可能是更好的选择。”但话说回来,所有关键处理事件(向上,向下,按下)让您看到按下了哪个键并决定是否采取行动。 jQuery doco还解释了event.whichevent.keyCodeevent.charCode之间的区别,但请注意,对于keyup事件,无论是大写还是小写,代码都是相同的字符是类型;对于keypress,代码对于大写和小写都会有所不同。

快速谷歌搜索找到了以下页面,其中给出了每个键码所使用的键的图表:http://www.webonweboff.com/tips/js/event_key_codes.aspx - 所以显然你可以扩展我给你的小功能,包括你关心的其他键。 / p>

但你真的只想问一下字母,还是你关心数字键,标点符号等,但不是像箭头键那样的东西?你提到不想处理shift,但你也说退格和输入,这两个都可以改变字段的值,所以你的要求是模棱两可的。 如果用户按下shift + insert并将一些字母粘贴到您的字段中,您想要做什么?

答案 1 :(得分:0)

onkeypressonkeydown

您可以更详细地阅读key press events here

修改
如果我错了,请纠正我,但是你将实际的KEY代码与事件混淆了。您正在查找的执行事件是onkeyup,然后您必须检查密钥是否符合您想要的范围。

查看实际的browsers and keys support here

答案 2 :(得分:0)

$('#textarea').keypress(function(e){
       if(e.which >= 65 && e.which <= 90)
             $('#div2').fadeIn();
     }
);

在按键上说,检查字符代码是否为字母('a'为65,'z'为90),然后淡入div2。

答案 3 :(得分:0)

以下将处理小写或大写(带或不带Caps Lock)按键事件:

    $(document).ready(function () {
        $('#txtInput').keypress(function (e) {
            var keycode = e.keyCode || e.which;
            if (((keycode >= 65) && (keycode <= 90)) || ((keycode >= 97) && (keycode <= 122))) {
                alert('Letter has been pressed');
            }
        });
    });

jsFiddle:http://jsfiddle.net/y5yuG/