1

ページが読み込まれたときに起動するには、jQuery の .on() イベントが必要です。前の画面でのユーザーの選択に基づいて、動的に生成されたチェックボックスがいくつかあります。やりたいことを実行するコードがありますが、動作をテストできるように「ボディ」クリックイベントにバインドしました。

私が持っているのは次のとおりで、本文のクリックではなくページが読み込まれるとすぐにトリガーする必要があります。

$('body').on('click', function (e) {
    $("input:checkbox").each(function () {
        if ($(this).attr("disabled") == "disabled") {
            $(this).parent().addClass('disabled');
        }
    });
});
4

2 に答える 2

1
jQuery(document).ready(function($) {
    $("input:checkbox").each(function () {
        if ($(this).attr("disabled") == "disabled") {
            $(this).parent().addClass('disabled');
        }
    });
});

document.ready ハンドラーは、ページの読み込みが完了すると関数をアクティブにします。

于 2012-12-18T14:52:56.250 に答える
0

2 つの可能性:

1) コードを含むスクリプト タグをページの最後、終了タグの直前に</body>配置し、イベント ハンドラー内から削除します。

<script>
$("input:checkbox").each(function () {
    if ($(this).attr("disabled") == "disabled") {
        $(this).parent().addClass('disabled');
    }
});
</script>
</body>

HTML のコードの上に定義されているすべてのチェックボックスは、その時点で利用可能になります。


2) 別の方法として、何らかの理由で script タグを別の場所に配置する必要がある場合は、jQuery のreadyeventを使用できます。これは、ページの準備ができてからonload(通常は)前に発生します。

jQuery(function($) {
    $("input:checkbox").each(function () {
        if ($(this).attr("disabled") == "disabled") {
            $(this).parent().addClass('disabled');
        }
    });
});
于 2012-12-18T14:51:51.727 に答える