急,Js怎么获得大小写键caps lock 的状态?

cocoanet 2009-11-20 09:54:54
项目中需要侦听键盘事件,按下键盘后捕获用户输入,根据keycode来分辨用户输入的字符,然后将字符发送到后台,在按下caps lock后,大小写字母的keycode都是一样的,所以无法捕获用户输入的是大写还是小写,怎么能获得caps lock的状态呢?
...全文
313 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sohighthesky 2009-11-20
  • 打赏
  • 举报
回复
没办法判断,
放在keypress中处理,这个事件中的大小写keycode是不一样的:

document.onkeypress=function(e) {
e = window.event || e;
alert((e.keyCode || e.which));
}
草根醉秋意 2009-11-20
  • 打赏
  • 举报
回复

function detectCapsLock(event){
var e = event||window.event;
var o = e.target||e.srcElement;
var oTip = o.nextSibling;
var keyCode = e.keyCode||e.which; // 按键的keyCode
var isShift = e.shiftKey ||(keyCode == 16 ) || false ; // shift键是否按住
if (
((keyCode >= 65 && keyCode <= 90 ) && !isShift) // Caps Lock 打开,且没有按住shift键
|| ((keyCode >= 97 && keyCode <= 122 ) && isShift)// Caps Lock 打开,且按住shift键
){oTip.style.display = '';}
else{oTip.style.display = 'none';}
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧