Javascript 我如何通过按键事件代码知道角色是否刚刚输入a<;textarea>;是小写还是大写?
我试图捕捉刚进入一个游戏的角色。但我只能通过按键事件(如keydown或keyup)来获取按下哪个键,不知道是小写还是大写 例如,当我输入A或A时,keydown的事件键代码都是65。 我考虑使用val()获取字符串中的字符串并获取其最后一个字符。但这太慢了,占用内存,因为我想在用户打字时记录每个键盘事件 那么,有没有一种方法可以简单地获取最后输入的字符?提前谢谢 试试这个:Javascript 我如何通过按键事件代码知道角色是否刚刚输入a<;textarea>;是小写还是大写?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我试图捕捉刚进入一个游戏的角色。但我只能通过按键事件(如keydown或keyup)来获取按下哪个键,不知道是小写还是大写 例如,当我输入A或A时,keydown的事件键代码都是65。 我考虑使用val()获取字符串中的字符串并获取其最后一个字符。但这太慢了,占用内存,因为我想在用户打字时记录每个键盘事件 那么,有没有一种方法可以简单地获取最后输入的字符?提前谢谢 试试这个: var p=$('#log')[0]; $(“#文本区域”)。在(“按键”,功能(e){ p、 textContent
var p=$('#log')[0];
$(“#文本区域”)。在(“按键”,功能(e){
p、 textContent='';
var k=e.keyCode | | e.which;
var character=String.fromCharCode(k);
如果(!isNaN(字符*1)){
p、 textContent+='字符是数字';
}否则{
if(character==character.toUpperCase()){
p、 textContent+=‘大写为真’;
}
if(character==character.toLowerCase()){
p、 textContent+=‘小写为真’;
}
}
});代码>
我明白你说的移位键是什么意思了
var myObj = $('#myTextarea');
function isLetter(char){
if ((char.toLowerCase() !== char) || (char.toUpperCase() !== char)) {
return true;
}
return;
}
myObj.keypress(function( event ){
var text = myObj.val();
var char = text.charAt(text.length-1);
if (!event.shiftKey && isLetter(char)) {
if (char == char.toUpperCase()) {
console.log('Upper');
}
if (char == char.toLowerCase()) {
console.log('Lower');
}
}
});
尝试:
window.onload=函数(){
document.getElementById(“area1”).onkeypress=函数(事件){
var代码=event.which;
如果((代码>=65)&&(代码=97)&(代码可能重复)为了澄清我的问题,不是判断给定的字符,而是按键事件,如果它是小写或大写。你能测试一下shift键或caps lock键的状态吗?你试过了吗?事实上它确实告诉了我,但它也在同一时间…@Kaido你能证明任何情况吗?@RayonDabre你测试过y吗我们的代码还是您测试过的检查shift和caps lock键的状态?我为Firefox添加了解决方案,当您请求event.keyCode时,它总是返回0。现在它可以工作了
<textarea id="area1"></textarea>
window.onload = function () {
document.getElementById("area1").onkeypress = function(event){
var code = event.which;
if ((code >= 65) && (code <= 90)) {
alert('Upper');
}
else if ((code >= 97) && (code <= 122)) {
alert('Lower');
}
}
}