页面加载时触发jQuery .on()事件

时间:2012-12-18 14:49:31

标签: jquery

我需要在页面加载时触发jQuery的.on()事件。我根据前一个屏幕上的用户选择有一些动态生成的复选框。我的代码可以实现我想要的功能,但我已经将它绑定到了' body'点击事件以允许我测试它是否有效。

我所拥有的是以下内容,只要页面加载而不是正文点击,就需要触发此操作。

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

2 个答案:

答案 0 :(得分:1)

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

document.ready处理程序在页面加载完成后激活该函数。

答案 1 :(得分:0)

两种可能性:

1)只需将包含代码的脚本标记放在页面的最末端,就在结束</body>标记之前,然后将其从事件处理程序中删除:

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

所有在上面上面定义的复选框 HTML中的代码将在此时可用,参考:


2)或者,如果您有理由将脚本标记放在其他位置,则可以使用jQuery's ready event,该页面在页面准备好后onload(通常)之前触发:

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