2

を使用するコードと使用しないコードの違いは何$(document).readyですか?

例えば:

$(document).ready(function() {
    $("#button").click(function() {
        //Code
    });
});

と:

$("#button").click(function() {
    //Code
});

と :

 <input id="button" type="button" value="Cancel" onclick="hidedropdown()" />

    function hidedropdown() {
        //Code
}
4

1 に答える 1

6

最初のケースでは、DOM の準備が整うまでコードは実行されません。

ドキュメントを参照してください:

.ready() に渡されたハンドラーは、DOM の準備が整った後に実行されることが保証されているため、これは通常、他のすべてのイベント ハンドラーをアタッチして他の jQuery コードを実行するのに最適な場所です。

scriptHTML の先頭またはヘッダーにある要素で 2 番目のコードを実行すると、button要素が見つからず、イベント ハンドラーがバインドされません。を使用.readyすると、それが修正されます。

スクリプトをページの下部 (に隣接</body>) に配置すると、同じ理由でこの問題も解決されます。スクリプトが解析されるまでに、HTML は DOM に変換され、走査できるようになります。

于 2013-03-29T11:59:08.250 に答える