是否有任何替代onKeyUp的说法,如果键入字母,请执行此操作,因为onKeyUp shift,enter,backspace等计数。
例如,如果value.div1 = 1,则在div2中淡出。
非常感谢
编辑: 好吧,我不清楚。对不起,我的意思是:
我有一个textarea。如果在textarea中输入了字母[不是KeyUP,Keypress等],则fadeIn div1。
抱歉,再次感谢
答案 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.which
,event.keyCode
和event.charCode
之间的区别,但请注意,对于keyup
事件,无论是大写还是小写,代码都是相同的字符是类型;对于keypress
,代码对于大写和小写都会有所不同。
快速谷歌搜索找到了以下页面,其中给出了每个键码所使用的键的图表:http://www.webonweboff.com/tips/js/event_key_codes.aspx - 所以显然你可以扩展我给你的小功能,包括你关心的其他键。 / p>
但你真的只想问一下字母,还是你关心数字键,标点符号等,但不是像箭头键那样的东西?你提到不想处理shift,但你也说退格和输入,这两个都可以改变字段的值,所以你的要求是模棱两可的。 如果用户按下shift + insert并将一些字母粘贴到您的字段中,您想要做什么?
答案 1 :(得分:0)
onkeypress
或onkeydown
?
您可以更详细地阅读key press events here。
修改强>
如果我错了,请纠正我,但是你将实际的KEY代码与事件混淆了。您正在查找的执行事件是onkeyup
,然后您必须检查密钥是否符合您想要的范围。
答案 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/