我想知道是否可以使用jquery并且无需按任何键来检测大写锁定键的状态。
让我更清楚一点。我有一个密码字段。当我只是单击它或密码字段处于焦点时,如果大写锁定打开,我需要显示警告消息(类似于Windows登录)。我知道比较字符代码的方法,但这不是我需要的。
这适用于Yii应用程序。因此,如果它有任何默认功能来检查大写锁定状态,请告诉我。
任何帮助都将受到高度赞赏..!
谢谢..!
答案 0 :(得分:1)
在浏览器的JavaScript中,您可以根据浏览器在标准API中提供的内容提供解决方案,也可以不使用。
在这种情况下,没有直接访问键盘的状态,所以答案是否:当用户按一下键时,你做的不如显示你的消息。
答案 1 :(得分:0)
所以回答你的问题:是否有可能在jquery中的点击事件中检测'capslock是否已打开' - 不!
答案 2 :(得分:0)
使用此
document.onkeydown = function (e) { //check if capslock key was pressed in the whole window
e = e || event;
if (typeof (window.lastpress) === 'undefined') {
window.lastpress = e.timeStamp-51;
}
if (e.keyCode == 20 && e.timeStamp > window.lastpress + 50) {
if (typeof (window.capsLockEnabled) !== 'undefined') {
window.capsLockEnabled = !window.capsLockEnabled;
}
if(!$(document).data("capsOn")){
$(document).data("capsOn", true);
}else{
$(document).data("capsOn", false);
}
}
window.lastpress = e.timeStamp;
//sometimes this function is called twice when pressing capslock once, so I use the timeStamp to fix the problem
};
然后是代码
$("#password").click(function(){
if($(document).data("capsOn")){
alert("CAPS ON");
}
});
答案 3 :(得分:-1)
尝试使用jquery插件进行大写锁定http://capslock.mclean.ws/
似乎无法检测大写锁定onfocus我认为这可能对您有所帮助,请访问此
http://jaspreetchahal.org/jquery-caps-lock-detection-plugin/