我正在尝试检测 Javascript 中的大写锁定,但是下面的代码总是返回 false。Firefox 和 IE 网络控制台说 kc 和 sk 是未定义的。Event "e"
似乎包含一个 which 元素,但是e.which
未定义。
我做错了什么吗?我正在使用 devexpress(这可能是个问题吗?)
Javascript
<script>
function isCapslock(e) {
kc = e.keyCode ? e.keyCode : e.which;
sk = e.shiftKey ? e.shiftKey : ((kc == 16) ? true : false);
if (((kc >= 65 && kc <= 90) && !sk) || ((kc >= 97 && kc <= 122) && sk))
return true;
else
return false;
}
函数 showCapsWarning(e) {
if (isCapslock(e)) {
document.getElementById("capsWarningDiv").style.visibility = 'visible';
}
else {
document.getElementById("capsWarningDiv").style.visibility = 'hidden';
}
}
</script>
.aspx 文件
<dx:ASPxTextBox ID="tbPassword" runat="server" ClientInstanceName="tbPassword" Password="True" ToolTip="Please enter your password."
Width="300px"
ClientSideEvents-KeyPress="function(s,e) {showCapsWarning(e); }"
>
这是我从以下位置获得大写锁定 javascript 代码的地方:http: //www.codeproject.com/Articles/17180/Detect-Caps-Lock-with-Javascript