我遇到了UI对话框的问题。我迷上了完整的事件来创建一个TinyMCE,因为它与动画效果不佳。但它似乎不适用于最新版本的JQuery UI。
我搜索了发行说明,看看是否已经更改了,但我没有看到它在任何地方列出。
这是删除/移动的功能还是v1.10.0中的问题?
以下是jsfiddle中使用的示例代码:
$("div").dialog({
show:{
effect:"puff",
duration:400,
complete:function()
{
$(".complete").html("Animation Complete.");
}
}
});
以前的版本功能(1.9.2):
最新版本功能(1.10.0):
注意:我使用MS CDN作为UI javascript,因为jsfiddle尚未拥有它。
答案 0 :(得分:4)
这是一段相当艰难的旅程,但我终于找到了你的问题和解决方案。
确实已从jQuery UI对话框1.10.0中删除了此complete
功能。 It's not in the API。我不确定为什么它被删除了,它们肯定没有在升级指南中记录。
在深入研究1.10.0代码之后,我发现了这个:
this._show( this.uiDialog, this.options.show );
正如您所看到的,._show
(这只是jQuery的.show
)没有回调,也无法设置回调。确认!你被困住了。
...或者你将是jQuery 1.10.1而不是在路上:
this._show( this.uiDialog, this.options.show, function() {
that._focusTabbable();
that._trigger("focus");
});
您仍然无法直接设置回调,但您可以通过1.10.1中的focus
选项进行设置。 I have confirmed that this works
我仍然认为这对其他人来说会有点不稳定,但至少不适合你。您可以选择立即升级到jQuery 1.10.1,也可以直接使用1.9等待它。
答案 1 :(得分:0)
正如@brian所说,complete
回调功能已在v1.10.0中删除,并且从未添加过。
Brian的方法很简洁,但只适用于open
。
在此,我提出了一种更适用于open
和close
的正确方法:
https://stackoverflow.com/a/18257205/2678731
在(最新)v1.10.3上成功测试:http://jsfiddle.net/losnir/jcmpm/