2010-03-11 44 views
3

我有一個小型的jQuery插件,用於表單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

你的符號是好的:

(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); 
+0

謝謝!你救了我幾個小時的搜索......:o) – 2010-03-11 08:41:13