1

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

$.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

扩展小部件时我在这里错过了什么吗?

4

1 回答 1

2

这是 1.8 版本的 jquery ui 中的一个错误。ui.dialog 的 'destroy' 函数不会调用其父级的 'destroy'。

将此添加到“销毁”可以解决问题:

$.Widget.prototype.destroy.apply(this, arguments);
于 2013-03-06T17:01:32.400 回答