Я использую фабрику виджетов jqueryUI для расширения диалогового виджета jqUI. Я установил самый простой виджет, который я могу придумать. Он ничего не делает, просто наследует от диалога. Тем не менее я не смог заставить его работать.
У меня есть скрипка, демонстрирующая это здесь: Просмотр скрипки
Вот тестовая разметка:
<div id="a">hello</div>
<div id="b">bye</div>
Вот JavaScript:
(function ($, undefined)
{
var o = //Widget prototype
{
options: {},
_create: function () {},
destroy: function ()
{
$.Widget.prototype.destroy.call(this);
},
_setOption: function (key, value)
{
$.Widget.prototype._setOption.apply(this, arguments);
},
};
//Run jQuery's widget factory to create the widget
$.widget('cs.csDialog', $.ui.dialog, o);
} (jQuery));
//Test it out
$("#a").dialog(); //Works
$("#b").csDialog(); //Fails
Внутри jqUI я получаю следующую ошибку:
this.uiDialog не определен
Я не вижу, что я сделал неправильно. Я был бы очень признателен за любую помощь. Спасибо.