jQuery と ajax を使用して、自分のサイトでライブ検索を作成しようとしています。
ただし、検索ボックスにフォーカスがあり、別のブラウザー タブに移動するkeyup()と、検索ページに戻ったときに jQuery が関数をトリガーします。
私はこれをJSfiddleでモックアップしました
再現する手順:
- JSfiddle とその他のブラウザー タブを開きます
- テキスト ボックスにフォーカスを与える
- 別のブラウザ タブに移動
- 元のページ (JSfiddle) に戻る
予想/意図: keyup()トリガーされない
何が起こるか: keyup()トリガーされ、タイムスタンプで示されます
私は Javascript についてあまり詳しくなく、jQuery のドキュメントも読んだことがありますが、答えが思いつきません。
これは私が何か間違ったことをしているからですか?Javascript/jQuery またはブラウザの問題ですか? (Chrome を使用) どうすればそれを防ぐことができますか?
ありがとう!穏やかな。
アップデート
タブ間をクリックするだけでなく、Ctrl+Tab を使用した場合にのみトリガーされるようです。ページから離れてクリックすることで複製できますが、検索ページに戻るには Ctrl+Shift+Tab を使用します。
解決策は以下のとおりであり、 keyCode 9 を として返すと思いますがfalse、他の提案のために開いたままにします。