使用 IFFE 时未定义的函数(立即调用的函数表达式)

Undefined function when using IFFE (Immediately-invoked function expression)

我有一个函数,我已将其分配给一个变量,当我立即使用 IFFE 为它开具发票时,我收到了一个未定义的错误。

<script>
    "use strict";
    $(document).ready(function () {
        var enableBulkAction = function () {
            if ($("#frmProductManagement input:checkbox:checked").length > 0) {
                // any one is checked
                $('#ddlBulkAction').prop("enabled", "enabled");
            } else {
                // none is checked
                $('#ddlBulkAction').prop("disabled", "disabled");
            }
        }();


        $('#chkTableAll').click(function () {
            var checkedStatus = this.checked;
            $('#tblProductsManagements tbody tr').find('td:first :checkbox').each(function () {
                $(this).prop('checked', checkedStatus);
                enableBulkAction();
            });
        });
    });
</script>

enableBulkAction();不是函数,即使它应该在范围内。有人知道我忘了做什么吗?

如果您希望 enableBulkAction 可供参考并且希望立即调用它,您需要做的是进行以下更改:

var enableBulkAction = function () {
        if ($("#frmProductManagement input:checkbox:checked").length > 0) {
            // any one is checked
            $('#ddlBulkAction').prop("enabled", "enabled");
        } else {
            // none is checked
            $('#ddlBulkAction').prop("disabled", "disabled");
        }
    };
enableBulkAction();

脚本的其余部分可以保持原样。