Этот ответ приходит немного поздно, может быть, но я боролся с тем же, и мне пришлось немного почитать.
$ () в целом
Экземпляр $()
представляет собой список ярлыков без пространства имен для различных функций, распределенных по различным пространствам имен. Вы можете добавить больше функций в этот список, написав:
$.fn.myFunction = function() {
...
};
К которому затем можно обратиться, позвонив по номеру
$("...").myFunction();
Если вы добавите две функции с одинаковыми именами, последняя заменит первую.
Виджеты
Когда вы создаете виджет с пространством имен, он создается с его пространством имен, как и следовало ожидать, но к $()
он добавляется без пространства имен, как упрощенный ярлык для вашего реального виджета с ярлыком. Это делается с помощью $.widget.bridge()
. Поэтому вы можете создать свою собственную ссылку на пространство имен на $ (), написав так:
$.widget.bridge("namespace_myFunction", $.namespace.myFunction );
А затем получите доступ к вашему виджету так:
$("#myDiv").namespace_myFunction();
Чтобы использовать виджет напрямую с его оригинальным пространством имен, вы можете вместо этого вызвать его следующим образом:
$.namespace.myWidget(
{
option1: "",
option2: ""
},
$("#div")
);
Надеюсь, это прояснит немного ...