Enter キーを押したときにポップアップ div を作成しようとしていますが、div には、Enter キーをもう一度押すと div を閉じるボタン (起動時にフォーカスするスクリプト) が含まれています。keypress
バインディングからエンターキーを受け取り、keydown
結果が異なります。
バインディング「キープレス」
最初のEnterキーでポップアップボックスが起動し、別のEnterキーでポップアップボックスを閉じると、正常に機能します。
このJSFiddleを参照してください。
バインディング「キーダウン」
これは正しく機能しません。エンター キーを 1 つ入力するだけで、ポップアップ ボックスが起動してすぐに閉じてしまいます (表示されません)。
このJSFiddleを参照してください。
私の質問は、なぜキーダウンが奇妙な動作を生成するのかということです.Enterキーを2回発砲するようなものですが、真実はそうではありませんでした. ボタン focus() を削除すると、正しく機能します。それは私を困惑させました。
firefox と chrome でテスト済み。