0

パラメータに何を入れても $().ready がトリガーされるという問題があります。これは、ページの準備が整う前に実際にトリガーされることを意味します。ASP.NET と EXT.NET を混在させて使用していますが、jQuery を実装して少しスパイスを効かせたいと考えています。説明にあるように、何があってもトリガーされるので、パラメーターに「123」を入力すると、alart() が表示されます。実行中のコードは次のとおりです。

    $("123").ready(function () {
        var $kids = $("x-column-inner").children();
        alert($(".x-column-inner").height());
    });

その結果、「.x-column-inner」はページのコンパイルが完了しておらず、すでに JavaScript を実行しているため、null になります。

4

2 に答える 2

3

この.readyメソッドは、セレクターの内容を完全に無視します。DOMContentLoadedイベントがブラウザによってトリガーされた場合にのみ発生します。

ただし、画像と css シートの読み込みが完了する前に DOMContentLoaded が起動し、高さと幅の測定値が不正確になる可能性があることに注意してください。それが問題である場合は、使用する必要があります$(window).load();

DOMContentLoadedイベントがすでにトリガーされている場合、ready コールバックがすぐに実行されます。

于 2012-05-31T19:05:31.877 に答える
1

最初のセレクターにピリオドがありません:

$(function () {
    var $kids = $(".x-column-inner").children();
    alert($(".x-column-inner").height());
});
于 2012-05-31T19:07:34.403 に答える