我有一个jQuery插件(https://github.com/OscarGodson/jKey),有些用户需要本地化支持。我本能的想法是在插件中有另一个参数,以允许本地化,如:
$(window).jkey('?',callback,{'?':223})
或者将其保存为var
var localization = {'?':223,'a':224,'b':225,'c':226}
$(window).jkey('?',callback,localization)
但这对于屁股来说是一种痛苦,因为大多数用户希望将所有代码本地化,而不仅仅是一个代码片段。那么,有没有办法设置全局jQuery设置?例如,能够像
一样$.jkey({localization:{'?':223}})
然后我们对$().jkey()
的所有电话都会使用它?
答案 0 :(得分: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));