0

私はしばしば、以下のような単純なjQueryコードでさえある場所にいることに気づきます-

jQuery(document).ready(function () {
    jQuery("input[type='text']").click(function () {
        this.select();
    });
});

「head」タグ内に配置すると機能しませんが、マスターページのbodyタグの終わりの直前にこのスニペットを移動すると問題なく機能します。私が見逃している基本的なJavaScript/jQueryの原則はありますか?

4

2 に答える 2

1

複数の理由が考えられますが、その一部は次のとおりです。

  • このコードブロックの後にファイルをロードしていjquery.jsます-解決策は、ファイルへのリンクの下にコードを移動することです
  • その.ready()中のコードがロードの完了後にのみ起動することはほぼ保証されていdocumentますが、選択しようとしているテキスト要素がまだ準備ができていない/ロードされていない可能性があります-ここでの解決策は次の.on()方法を使用することです:jQuery("input[type='text']").on('click', function () {...}));
于 2012-09-22T18:13:38.547 に答える
-1

私は過去に同様の問題に遭遇しました。そこでは、準備ができていない要素に対してsciptが常に発砲するとは限りませんでした。

$(window).load()の代わりに使用してみてください$(document).ready()

于 2012-09-22T20:19:01.713 に答える