2

我遇到了 UI 对话框的问题。我加入了完整的事件来创建一个 TinyMCE,因为它不能很好地播放动画。但它似乎不适用于最新版本的 JQuery UI。

我搜索了发行说明以查看这是否已更改或其他任何内容,但我没有看到它在任何地方列出。

这是删除/移动的功能还是 v1.10.0 中的问题?

这是示例代码,在下面的 jsfiddle 中使用:

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

以前的版本功能(1.9.2):

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

最新版本功能(1.10.0):

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

注意:我为 UI javascript 使用了 MS CDN,因为 jsfiddle 还没有它。

4

2 回答 2

4

这是一段旅程,但我终于弄清楚了您的问题和解决方案。

事实上,这个complete特性已经从 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");
});

仍然不能直接设置回调,但是可以通过focus1.10.1 中的选项进行设置。 我已经确认这行得通

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

于 2013-02-07T01:00:34.317 回答
0

正如@brian 所指出的,complete回调功能在 v1.10.0 上被删除,此后再也没有添加回来。Brian 的方法很简洁,但是只适用于open.

在这里,我提出了一种更正确的方法,适用于openclose

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

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

于 2013-08-15T16:56:43.793 回答