Я хочу добавить плагин jQuery, который вертикально выравнивает элементы в родительском элементе. В других случаях, когда я не использовал RequireJS, я бы просто написать глобальную функцию, например, так:Правильный способ добавления плагина jQuery с RequireJS
(function ($) {
$.fn.vAlign = function() {
return this.each(function() {
var ah = $(this).height();
var ph = $(this).parent().height();
var mh = (ph - ah)/2;
$(this).css('margin-top', mh);
});
};
})(jQuery);
Затем я могу назвать это так: $('.someclass').vAlign()
. Я пытаюсь понять, как это сделать теперь, когда я использую RequireJS. Я пишу модуль?
Я нашел описание написания модуля с использованием RequireJS here, но он описывает сценарий, в котором вы вызываете функцию не на элемент в DOM, как и в jQuery, но ссылаясь на имя библиотеки, в котором вы определил модуль.
Есть ли способ написать модуль в RequireJS, чтобы функция могла вызываться на элементе в DOM так, как вы бы в jQuery?
дубликата [Могу ли я написать яваскрипт файл, который необязательно использует require.js в зависимости определяет, когда он доступен ?] (http://stackoverflow.com/questions/21351621/can-i-write-a-javascript-file-that-optionally-uses-require-js-to-specifies-depen). Ваш вопрос является подмножеством вопроса, и ответ, который я дал там, охватывает то, что вам нужно сделать. – Louis