检测keypress中的左或右Shift键 - JQuery [英] Detect Left or Right Shift Key in keypress - JQuery

查看:101
本文介绍了检测keypress中的左或右Shift键 - JQuery的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个Web应用程序,用户必须输入大写字母。我已经限制它们使用右移键来获得像a,s,d,f这样的一些键和h,j,k,l的左移键(基本上用于检测用户是否正确使用大写字母的shift键) / p>

下面的JQuery代码有助于查找哪个键被按下,包括数字,小写字母和大写字母。但它并没有告诉我他是否用大写字母的左/右移键。

函数(事件){
alert(String.fromCharCode(event.which));
});

经过大量搜索后,我找到了一个代码来检查检测左/右移键

  document.addEventListener(keyup,function(e){
var key = e.key (key ==Shift1)
alert('左移键');
if(key ==Shift2)
alert( '右移键');
});

如何修改JQuery脚本,以便每当按下大写字母时,我都可以检查他使用左或右移按键

解决方案

从@Micheal Nakayama的一点帮助,我自己做了。这里是代码:

 < script> 
var shiftLeft
var shiftRight
document.addEventListener(keydown,function(e){
var key = e.key + e.location;
if( key ==Shift1)
{
shiftLeft = 1
}
else if(key ==Shift2)
{
shiftRight = 1
}
else if(shiftLeft == 1)
{
console.log(Left ++ e.key)
}
else if( shiftRight == 1)
{
console.log(Right ++ e.key)
}
else {
console.log(e.key)
}
});
document.addEventListener(keyup,function(e){
var key = e.key + e.location;
if(key ==Shift1)
{
shiftLeft = 0
}
else if(key ==Shift2)
{
shiftRight = 0
}
});
< / script>


I'm developing a web app where user have to enter capital letters. I have restrict them to use right shift key for some key like a,s,d,f and left shift key for h,j,k,l (basically to detect whether the user is using the correct shift key for capital letters)

The below JQuery code helps to find which key is pressed, including numbers, small and capital letters. But it doesn't tell me whether he have used left/right shift key for capital letters

$(document).keypress(function(event){
  alert(String.fromCharCode(event.which));
});

After a lot of searching I found a code to check detect left/right shift key

document.addEventListener("keyup", function(e){
 var key = e.key + e.location;
 if(key == "Shift1")
   alert('Left shift key');
 if(key == "Shift2")
   alert('Right shift key');
});

How can i modify the JQuery script so that whenever a capital letter is pressed, I can check whether he pressed using left or right shift key

解决方案

From a little help from @Micheal Nakayama, I did it myself. Here is the code:

<script>
var shiftLeft
var shiftRight
document.addEventListener("keydown", function(e){
  var key = e.key + e.location;
  if(key=="Shift1")
  {
    shiftLeft = 1
  }
  else if(key=="Shift2")
  {
    shiftRight = 1
  }
  else if(shiftLeft==1)
  {
    console.log("Left+"+e.key)
  }
  else if(shiftRight==1)
  {
    console.log("Right+"+e.key)
  }
  else {
    console.log(e.key)
  }
});
document.addEventListener("keyup", function(e){
  var key = e.key + e.location;
  if(key=="Shift1")
  {
    shiftLeft = 0
  }
  else if(key=="Shift2")
  {
    shiftRight = 0
  }
});
</script>

这篇关于检测keypress中的左或右Shift键 - JQuery的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆