わかりました、マイナス/減算/-が押されたかどうかを確認するコードが必要です。押された場合は、警告ボックスが表示されるようにします。109
キーコードとキーコードの両方を試しまし189
たが、まだ望ましい結果が得られません。押し"-"
てもアラートボックスが表示されない
7 に答える
keypress イベント中にテストするJavaScript charCodesはASCIIです。keydown または keyup イベントで使用される場合、109 が正しいkeyCodeです。
"-" のcharCodeは 45 です。
1.event.keyCode = 109 はテンキーの「-」です
2.event.keyCode = 189 は、クロムのアルファベット キーボード キーの「-」です
3.event.keyCode= 173 は '-' であり、Firefox および chrome のアルファベット キーボード キーでは 173 キーコードはミュート オン|オフです
イベント ハンドラーでこれを行わないでくださいkeydown
。キー コードに関するさまざまなブラウザーの考えや、さまざまなキーボード タイプのキー コード間の潜在的なバリエーションに翻弄されます。イベントでそれを行うkeypress
と、実際に必要な文字コードを代わりに取得できます。
document.onkeypress = function(evt) {
evt = evt || window.event;
var charCode = evt.which || evt.keyCode;
var charStr = String.fromCharCode(charCode);
if (charStr == "-") {
alert("Minus!");
}
};
JavaScript キーイベントに関して必要なすべての情報: http://unixpapa.com/js/key.html
次の方法でキーコードを見つけることができます。
いくつかのコードを投稿してください。これは私のために働く:
document.onkeydown = function (e) {
if (e.keyCode === 109 || e.keyCode === 189) {
alert('minus sign pressed');
}
};
キーコードの完全なリストはこちら: http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx
これがうまくいくことを願っています。ユーザーが押したキーを検出し、探しているものがアラートを表示する場合は、実際のキーを他のキーに変更できます。
function detectSubstract(e)
{
var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
var actualkey=String.fromCharCode(unicode)
if (actualkey=="-")
{
alert('You pressed the minus key')
}
}
document.onkeypress=detectSubstract