1

Kendo Window をサブクラス化しようとしています。これまでのところ、サブクラス化された Window は機能しています。ただし、標準の剣道ウィンドウのクローズ イベントは中断されます。close イベントが呼び出されると、次のエラーがスローされUncaught TypeError: Cannot read property 'options' of undefinedます。

これが私がやろうとしていることの例です。 http://jsbin.com/IfoMOPU/6/edit?html,js,output

これを修正するために何が欠けていますか?

4

2 に答える 2

1

これは Kendo UI のバグ/設計上の問題だと思います。現時点での唯一の解決策は、kendoWindow ウィジェットを置き換え、「windowObject」関数を更新して、ウィンドウのサブクラスも返すようにすることです。

function windowObject(element, name) {
    var contentElement = element.children(KWINDOWCONTENT);

    return contentElement.data("kendoWindow") || contentElement.data("kendoMyWindow") || contentElement.data("kendo" + name);
}

修正例: http: //jsbin.com/OfIHOm/1/edit

更新: Q2 2013 SP1 (バージョン 2013.2.918) の時点で、プライベート関数 windowObject のコードはメソッド _object に移動されました。

これは、他のウィジェットと同様に kendoWindow をサブクラス化できることを意味しますが、それでも kendoWindow の _object メソッドを更新する必要があります。

/**
* update kendoWindow's _object method to return our new widget as well
*/
ui.Window.fn._object = function (element) {
    var content = element.children(KWINDOWCONTENT);

    return content.data("kendoWindow") || content.data("kendoMyWindow") || content.data("kendo" + this.options.name);
};

http://jsfiddle.net/lhoeppner/qj2HL/の更新された例

于 2013-10-05T20:21:56.117 に答える
0

私の剣道ウィンドウがコンテンツに動的スクリプトをロードしていたため、この問題に遭遇しました。このスクリプトをヘッダーに移動することで、問題が解決しました

于 2014-03-21T19:46:14.977 に答える