3

我有一个用于表单 AJAX 验证的小型 jQuery 插件。有一个回调会提醒验证/提交过程中每个“阶段”的调用脚本。

一些片段:

(function ($) {
    $.fn.formHelper = function (options) {
        // settings options etc
        var stage = { Start: 1, ErrorReceived: 2, AllErrorsReceived: 3, NoErrors: 4 };
        // rest of the plugin
    };
})(jQuery);

$("#some_button").formHelper({
    StageCallback: someCallbackHandler;
});

function someCallbackHandler(stage) {
    switch(stage) {
        case 1: alert("Starting validation"); break;
        case 2: alert("Error received"); break;
        case 3: alert("All errors received"); break;
        case 4: alert("No errors"); break;
    }
}

问题:如何公开我的插件的阶段变量,以便我可以像这样使用它(这比使用数字更容易阅读)?

function someCallbackHandler(stage) {
    if (stage == $.formHelper.stage.Start)
        alert("Starting validation");
}

我想“$.formHelper.stage.Start”表示法并不准确,但我希望我能用它表达我的观点。

4

1 回答 1

4

你的符号很好:

(function ($) {
    $.formHelper = {
      stage: { Start: 1, ErrorReceived: 2, AllErrorsReceived: 3, NoErrors: 4 }
    };
    $.fn.formHelper = function (options) {
        // settings options etc
        var stage = $.formHelper.stage;
        // rest of the plugin
    };
})(jQuery);
于 2010-03-11T08:30:58.640 回答