Javascript で capslock を検出しようとしていますが、以下のコードは常に false を返します。Firefox と IE の Web コンソールで、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); }"
>
これは、capslock javascript コードを取得した場所です: http://www.codeproject.com/Articles/17180/Detect-Caps-Lock-with-Javascript