动画完整对话框

我遇到了UI对话框的问题。 我迷上了完整的事件来创建一个TinyMCE,因为它与动画效果不佳。 但它似乎没有在最新版本的JQuery UI中运行。

我搜索了发行说明,看看是否已经改变了,但我没有看到它列在任何地方。

这是移除/移动的function还是v1.10.0中的问题?

以下是jsfiddle中使用的示例代码:

$("div").dialog({ show:{ effect:"puff", duration:400, complete:function() { $(".complete").html("Animation Complete."); } } }); 

早期版本function(1.9.2):

http://jsfiddle.net/N4APL/1/

最新版本function(1.10.0):

http://jsfiddle.net/jXDYz/1/

注意:我使用MS CDN作为UI javascript,因为jsfiddle尚未拥有它。

这是一段艰辛的旅程,但我终于找到了你的问题和解决方案。

事实上,这个completefunction已从jQuery UI对话框1.10.0中删除。 它不在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选项进行设置。 我已经确认这是有效的 。

我仍然认为这对其他人来说会有点不稳定,但至少不适合你。 你可以选择现在升级到jQuery 1.10.1,或者直到1.9等待它。

正如@brian所指出的那样, complete回调function已在v1.10.0中删除,并且从未添加过。 Brian的方法很简洁,但只能在open

在这里,我提出了一种更适合openclose

https://stackoverflow.com/a/18257205/2678731

在(最新)v1.10.3上成功测试: http : //jsfiddle.net/losnir/jcmpm/