2011-02-04 46 views
2

我有一個jQuery插件(https://github.com/OscarGodson/jKey),一些用戶需要本地化支持。我本能的想法是有另一個PARAM在插件允許本地化,如:如何在jQuery插件中啓用全局設置更改

$(window).jkey('?',callback,{'?':223}) 

或將其保存到一個變種像

var localization = {'?':223,'a':224,'b':225,'c':226} 
$(window).jkey('?',callback,localization) 

但這是有點痛的屁股作爲最用戶會希望本地化他們的所有代碼,而不僅僅是一個片段。那麼,有沒有辦法設置全局jQuery設置?例如,可以去像

$.jkey({localization:{'?':223}}) 

,然後在我們的所有呼叫$().jkey()會用嗎?

回答

1

你可以實現你這樣形容:

(function ($) { 

    var defaults = { 
     localization: {} 
    }; 


    $.fn.jkey = function (args) { 
     var l18n = defaults.localization; 
     // your existing plugin code can use the 
     // 'global' localization settings 
     console.log(l18n['?']); 
     // rest of the plugin... 

    }; 

    $.jkey = function (options) { 
     // override the defaults for all plugin calls. 
     $.extend(defaults, options) 
    } 

}(jQuery)); 
相關問題