Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何通过按键事件代码知道角色是否刚刚输入a<;textarea>;是小写还是大写?_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 我如何通过按键事件代码知道角色是否刚刚输入a<;textarea>;是小写还是大写?

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

我试图捕捉刚进入一个游戏的角色。但我只能通过按键事件(如keydown或keyup)来获取按下哪个键,不知道是小写还是大写

例如,当我输入A或A时,keydown的事件键代码都是65。 我考虑使用val()获取字符串中的字符串并获取其最后一个字符。但这太慢了,占用内存,因为我想在用户打字时记录每个键盘事件

那么,有没有一种方法可以简单地获取最后输入的字符?提前谢谢

试试这个:

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');
        }           

    }
}