动画完整对话框
我遇到了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尚未拥有它。
这是一段艰辛的旅程,但我终于找到了你的问题和解决方案。
事实上,这个complete
function已从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
。
在这里,我提出了一种更适合open
和close
:
https://stackoverflow.com/a/18257205/2678731
在(最新)v1.10.3上成功测试: http : //jsfiddle.net/losnir/jcmpm/