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/

注:jsfiddleにはまだMS CDNがないため、UI JavaScriptにMS CDNを使用しました。

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");
});

コールバックを直接設定することはまだできませんがfocus、1.10.1 のオプションを介して設定できます。 これが機能することを確認しました

これは他の人にとってはかなり不安定になると思いますが、少なくともあなたにとってはそうではありません. 今すぐ jQuery 1.10.1 にアップグレードするか、1.9 がリリースされるまで待つかのいずれかを選択できます。

于 2013-02-07T01:00:34.317 に答える