問題タブ [onkeydown]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
502 参照

vb.net - キーダウンイベント(VB.NET)から元のサブプロシージャに戻る方法

独立したサブプロシージャからKeyDownイベントを参照し、元の独立したサブプロシージャにループバックさせようとしています。

  1. 独立したサブプロシージャで開始します(DisplayAction-次にKeyDownイベントを呼び出します)
  2. KeyDownイベントに入ります(KeyDownは次にDisplayActionを呼び出します)
  3. 元のサブプロシージャ(DisplayAction)に戻り、ループが続行されます。

*ステップ1と2は、私のコードでは問題なく機能します。ステップ3が問題です。私のプログラムは、独立したサブプロシージャにループバックしません。

0 投票する
1 に答える
410 参照

javascript - エスケープによる DHTML ダイアログ ボックスのキャンセルのサポート

次のマークアップを含む DHTML ダイアログ ボックスを想像してください。

ユーザーは、エスケープを押してダイアログをキャンセルすることを期待します。これ自体は難しいことではありません。keydown イベント ハンドラーを document.documentElement に追加して ev.keyCode == 27 をチェックし、それを使用してページの一番上のダイアログを閉じます。

問題はこれです。ブラウザが最初にエスケープ キーを認識することが重要な特定の状況があります。たとえば、ブラウザで のオートコンプリート メニューが表示された場合、Esc キーを<input type="text">押すと、ダイアログがキャンセルされるのではなく、それがキャンセルされます。のドロップダウン/ポップアップ メニューを表示する場合、Esc キーを<select>押すと、ダイアログではなく、それが閉じます。

ブラウザが何かのためにエスケープキーを押す必要がない場合に限り、ウィンドウのエスケープキーをどのように処理しますか?


編集: Stack Exchange 自体にこの問題があります。「質問への回答をメールで送信しますか?」をクリックすると、リンクをクリックすると、DHTML ダイアログ ボックスが開き、タブで頻度ドロップダウンに移動し、alt-down を押してドロップダウン メニューを開き、エスケープしてドロップダウン メニューを閉じると、ダイアログ全体が閉じます。これは起こらないはずです。このような状況では、ブラウザーのコントロールの実装では、最初にエスケープ キーを選択する必要があります。

0 投票する
1 に答える
4898 参照

javascript - Javascript: Keydown イベント: "上" 矢印キーは、それ以上の矢印キー Keydown イベントを防ぎますか? (回答: キーボードのゴースト)

私は多くの関連する質問を見つけました (ここと他の場所) が、これは特に見つかりませんでした。

矢印キー (37-40) のキーダウン イベントをリッスンしようとしていますが、特定の順序で矢印キーを使用すると、後続の矢印は「キーダウン」イベントを生成しません。

例: http://blog.pothoven.net/2008/05/keydown-vs-keypress-in-javascript.html

  1. そのページで、「ここに入力 ->」ボックスをクリックします。
  2. 右矢印キーを長押し: テーブルがキーコード 39 に更新されます
  3. 右矢印キーを押したまま、上矢印キーを押したままにします。テーブルは 38 に更新されます。
  4. 右矢印キーと上矢印キーを押したまま、左矢印キーを押したままにします: テーブルは更新されません

ただし、上矢印キーの代わりに矢印キーを使用して同じことを行うと、期待どおりに機能します。

さらに、矢印キーの代わりにキーパッドを使用すると、期待どおりに機能します。

keydown イベントの通常の操作を妨げています (イベント リスナーで false を返すことと、 preventDefault() を呼び出すことの両方によって) が、動作は持続します。

私のキーボードかもしれないと思ったのですが、ラップトップだけでなく友人のマシンでも起こります。

何が起こっているかについて誰かが何か洞察を持っていますか? または、回避策に関するいくつかの良いアイデアはありますか?

[編集] これが私の言いたいことの例です。これはすべてのブラウザーで機能するとは限りませんが、ラップトップでこれをまとめて、何が起こっているかを示しました (w7 の chrome と mac os 10.6.8 の chrome & safari)。

繰り返しますが、問題は次のとおりです。A、S、D、F、G の順に押すと、新しいキーを押し始めるたびに「Recent Keydown」が更新されるのがわかります。

ただし、右矢印、上矢印、左矢印の順に押したままにすると、左矢印キーの「最近のキーダウン」が更新されません。

0 投票する
2 に答える
1100 参照

android - サーフェス ビュー キャンバス 。@キーダウン時のオーバーライド

onKeyDown メソッドは機能しません。ボタンを押してもビットマップは動きません。j=j+5; を入れて直接行う場合。キャンバス内で機能します。onkeydown j+5 で直接実行した場合も、移動していませんでした。

0 投票する
1 に答える
768 参照

java - 保留中の Android キーボード

キーボードのエンターキーで「onHold」アクションを作成しようとしています。

ユーザーがEnterキーを押したままにすると、ユーザーAddItem()がクリックして実行するようにします。しかし、キーボードから指を離したときにのみAskForDate()アクションがトリガーされます。何か不足していますか? Android 2.3.7 (CM7.2) および Android 4.0.4 (CM9) でテスト済み、どちらもデフォルトのソフトキーボードを使用KeyEvent.ACTION_DOWN

0 投票する
1 に答える
589 参照

delphi - Delphi 7 アプリケーションで「-」の OnKeydown が発生しない

Delphi 7 エンタープライズ エディションを使用しており、アプリケーションは Windows XP でビルドされ、Windows XP と Windows 7 の両方でテストされています。

私たちが保守しているアプリケーションで、奇妙なことが起こっています。何らかの理由で、「-」キー (qwerty レイアウト、「0」キーと「=」キーの間) を押してもまったく登録されません。

見つかった編集の OnKeyDown、フォームの OnKeyDown (キー プレビューありとなし)、さらに ProcessMessage ルーチンをチェックインしましたが、このキーのイベントはアプリケーションに届きません。OnKeyPress でも同じ結果が得られます。

はい、テンキーの「-」キーは機能します。また、この動作はこのアプリケーションでのみ見られますが、unit1.pas のデフォルト フォームの OnKeyDown のみを実装して新しいアプリケーションを作成した場合。それは機能します。

そのため、この 1 つのキーを適切に無視するようにアプリケーションに指示することができました。これをどのように(元に)行うことができるか考えている人はいますか?

0 投票する
0 に答える
433 参照

android - Android: onKeyDown は、オプション メニュー ボタンで 1 回だけ呼び出されます

[戻る] ボタンを処理するために必要な onKeyDown をオーバーライドする ActivityGroup を使用しています。最初のアクティビティでメニュー ボタンを押すと、オプション メニューが作成されます。次に、このアクティビティ グループ内の 2 番目のアクティビティに移動し、メニュー ボタンをもう一度押すと、期待どおりにメニューが表示されます。しかし、最初のアクティビティに戻ると、メニュー ボタンが機能しなくなります。メニューが呼び出されることはありません。その後、2 番目のアクティビティに戻り、メニュー ボタンを押すと機能します。そのアクティビティから 3 番目のアクティビティに移動すると、そこでメニュー ボタンが機能しますが、1 番目または 2 番目のアクティビティでは機能しません。この問題は、OS 2.3 でのみ発生します。OS 2.2 では期待どおりに動作します。どういうわけか、各アクティビティがメニュー ハンドラを引き継いで解放しないようです。前のアクティビティに戻るときにアクティビティを破棄しますが。最初のアクティビティ以外のアクティビティには、onKeyDown ハンドラまたはメニューの作成はありません。これは 2.2 のバグですか、それとも製造元 (Huawei) からのものですか?

0 投票する
2 に答える
5461 参照

javascript - Javascript ゲームで onkeyup イベントが発生しないのはなぜですか

私は2D Javascriptゲームの始まりを持っています - 現時点では、プレイヤーは矢印キーを使って画面の周りに三角形を動かすことができます.

onkeyup問題は、対応するコントロール キーが再度押されてイベントが再度発生するまで、三角形が一方向に回転したり、前方に移動したりしてスタックする場合があることです。これは通常、複数のコントロール キーを同時に押したときに発生します。

onkeyupなんらかの理由でイベントが発生しない限り、そもそもなぜ動かなくなっているのかわかりません。どんな助けでも大歓迎です、ありがとう。

コードの一部を次に示します。JSFiddle で完全に機能する例を見つけることができます。