2

何かが必要なためにこの質問をしましたが、jQueryで問題が発生しています。他の人もこれを持っているかもしれないので、私はこの質問を開いています。

私の他の質問に投稿された回答では、ユーザーFelixが次のようなことをするように言っています。

$(document).keypress(function(e) {
    e.preventDefault();

    if(e.which == 13 ) {
        if($("#searchInput").is(":focus")) {
          alert("search form submitted");
          return false;
        } else {
          alert("save form submitted");                  
          return false;
        }
    }
});
​

それが私に必要なことのようですが、条件if($("#searchInput").is(":focus"))常にTrueを返し、どのコントロールに焦点を合わせているかはわかりません。

なぜこれが起こっているのか、または私がこれを行うことができる他の方法の手がかりを誰かが持っていますか?

4

3 に答える 3

2

jQueryのバージョンが古くなっている可能性があります。次のコマンドで最新バージョンを入手してください。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
于 2012-10-15T13:18:30.417 に答える
2

使用されている古いバージョンのjqueryが原因である可能性があります。1.6より古い場合は、:focus定義していないと機能しません。バージョン1.6以降には:focusセレクターがあり、個別に定義する必要はありません。したがって、ライブラリのバージョンが古い場合はアップグレードする:focusか、jsファイルのどこかに定義してください。ここで1.6のAPIを確認してください: jqueryバージョン1.6

于 2012-10-15T13:11:23.307 に答える
0

私のjQueryバージョンは古くなっていました。ここから最新バージョンを入手したところ、コードは正常に実行されています。

于 2012-10-15T13:22:52.117 に答える