20

わかりました、マイナス/減算/-が押されたかどうかを確認するコードが必要です。押された場合は、警告ボックスが表示されるようにします。109キーコードとキーコードの両方を試しまし189たが、まだ望ましい結果が得られません。押し"-"てもアラートボックスが表示されない

4

7 に答える 7

35

keypress イベント中にテストするJavaScript charCodesはASCIIです。keydown または keyup イベントで使用される場合、109 が正しいkeyCodeです。

"-" のcharCodeは 45 です。

于 2009-12-13T23:07:57.480 に答える
13

1.event.keyCode = 109 はテンキーの「-」です

2.event.keyCode = 189 は、クロムのアルファベット キーボード キーの「-」です

3.event.keyCode= 173 は '-' であり、Firefox および chrome のアルファベット キーボード キーでは 173 キーコードはミュート オン|オフです

于 2016-02-18T05:05:25.067 に答える
9

イベント ハンドラーでこれを行わないでください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

于 2009-12-13T23:35:59.753 に答える
7

次の方法でキーコードを見つけることができます。

于 2009-12-13T23:10:51.767 に答える
6

いくつかのコードを投稿してください。これは私のために働く:

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

于 2009-12-13T23:09:27.743 に答える
3

これがうまくいくことを願っています。ユーザーが押したキーを検出し、探しているものがアラートを表示する場合は、実際のキーを他のキーに変更できます。

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
于 2009-12-13T23:33:30.177 に答える