Я разрабатываю и поддерживаю виджет jQuery под названием jquery-ui-picklist. Я хотел бы удалить зависимость от пользовательского интерфейса jQuery, чтобы он мог использоваться как в приложениях jQuery, так и в jQuery.Есть ли лучший способ использовать фабрику виджета jQuery UI без jQuery UI?
я избежал перехода, до вчерашнего дня, когда я понял, что я не мог просто сделать что-то вроде этого:
(function($)
{
if($.widget == null)
{
// Contents of jquery.ui.widget.js, straight from jQuery UI, goes here.
}
$.widget("awnry.pickList",
{
// My widget's actual code goes here.
});
}(jQuery));
(Если вы заинтересованы, полный источник виджета can be found here.)
Излишне говорить, что он чувствует себя грязным и взломанным, чтобы включать в себя, дословно, код поставщика, подобный этому. Есть ли более правильный, элегантный или лучший способ отказаться от зависимости jQuery UI, не заставляя моих пользователей добавлять на свои страницы еще один JS?
Похоже, что вы должны поддерживать зависимость от пользовательского интерфейса jQuery. – jrummell
Я работал бы через '$ .fn' и полностью удалял зависимость. Фабрика виджета действительно не делает для вас многого, это простой способ решить некоторые из распространенных проблем, с которыми сталкиваются плагины, повторное подключение экземпляров, хранение данных и т. Д., Нетрудно сделать эти вещи для себя ... -ck – ckozl
Нет причин для добавления зависимости обратно. (Или вы хотите уточнить?) Единственное, что я использую из jQuery UI, это фабрика виджета, и это доступно в виде отдельного файла. Я рассматриваю возможность выбора двух вариантов: использовать jQuery UI или включить файл фабрики виджета. Я действительно начал этот плагин с $ .fn, и я перенес несколько месяцев назад. Конечно, фабрика виджета не нужна для создания плагина, но я не вижу, чтобы я возвращался. –