Как включить глобальные изменения настроек в плагине jQuery - PullRequest
2 голосов
/ 04 февраля 2011

У меня есть плагин jQuery (https://github.com/OscarGodson/jKey), и некоторым пользователям требуется поддержка локализации. Моя инстинктивная мысль заключалась бы в том, чтобы в плагине был другой параметр, позволяющий локализацию, например:

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

Или сохраните его в переменную типа

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

Но это своего рода боль в заднице, так как большинство пользователей хотели бы локализовать весь свой код, а не только один фрагмент. Итак, есть ли способ установить глобальные настройки JQuery? Например, быть в состоянии пойти как

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

И тогда на всех наших звонках на $().jkey() будет использоваться это?

1 Ответ

1 голос
/ 21 февраля 2011

Вы можете реализовать то, что вы описываете следующим образом:

(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));
...