在jquery ui 1.8中扩展widget之后,destroy不起作用

时间:2013-03-04 07:38:38

标签: javascript jquery jquery-ui jquery-ui-widget-factory jquery-ui-widget

尝试扩展窗口小部件后,销毁和重新创建窗口小部件似乎不起作用。

$.widget("ui.specialDialog", $.ui.dialog, {
    _create: function () {
        $.ui.dialog.prototype._create.call(this);
     }
});


$('#warningDialog').specialDialog();
$('#warningDialog').specialDialog('destroy');
$('#warningDialog').specialDialog();
// the dialog does not show up here


$('#warningDialog').dialog();
$('#warningDialog').dialog('destroy');
$('#warningDialog').dialog();
// this works

在扩展小部件时,我是否遗漏了任何内容?

1 个答案:

答案 0 :(得分:2)

这是jquery ui的1.8版本中的一个错误。 ui.dialog的'destroy'功能不会将其父级称为'destroy'。

将此添加到'destroy'可解决此问题:

$.Widget.prototype.destroy.apply(this, arguments);