一千萬個為什麽

搜索

使用jQueryUI的widget工具來擴展對話框

我正在使用jqueryUI的小部件工廠來擴展jqUI的對話框小部件。我已經設置了我能想到的最簡單的小部件。它什麽都不做,只是繼承自對話。我仍然無法讓它發揮作用。

I have a fiddle demonstrating it here: View Fiddle

這是測試標記:

<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

Inside jqUI I get the following error: this.uiDialog is undefined

我看不出我做錯了什麽。我非常感謝任何幫助。謝謝。

最佳答案

正如我在評論中寫的那樣,它不起作用的原因是因為你覆蓋了_create函數。

轉載註明原文: 使用jQueryUI的widget工具來擴展對話框