2016-05-24 35 views
2

私は奇妙な問題が発生しており、これを直近の数時間にわたって修正しようとしていますが、 findは反対です。私は剣道の窓が開いているので、ボタンをクリックすると閉じますが、窓を開くとボタンをクリックしても閉じないでしょう。私が見たどこでも人々は反対の問題を抱えています。ここ はここKendoWindowは最初に開いたときに閉じることができますが、開いているときにはもう一度開きません。

function CustomerPopupEditor() { 
    $("#showCustomerEdit").append("<div id='window'></div>"); 
    var myWindow = $("#window").kendoWindow({ 
     width: "80%", 
     height: "47%", 
     title: "Customer", 
     content: "/Customer/CustomerEditor", 
     modal: true, 
     actions: [ 
      "Close" 
     ], 
     close: function (e) { 
      $("#window").empty(); 
     } 
    }).data("kendoWindow"); 
    myWindow.center().open(); 
} 

が窓

template: "<button type='button' onClick='CustomerPopupEditor()' class='btn btn-warning'><span class='glyphicon glyphicon-edit'></span> Edit</button> &nbsp" 

を開き、ここで私は

を保存]をクリックしたときに、私は、ウィンドウを閉じるために使用私のコードで私の剣道のツールバーでウィンドウのための私のコードです
function CloseTheWindow() { 
    $("#window").data("kendoWindow").close(); 
} 

私の人生にとって、開かれた最初の時にそれを閉じることができ、開かれたのはなぜ2度目ではないのか分かりません。

+0

私はあなたの問題を再現しようとしたが、それは私が何かが欠けていていることになります。再現可能であれば、この[demo](http://dojo.telerik.com/AcOqU)をチェックしてください。 – Ademar

+0

CloseTheWindow()関数をどのように使いますか? –

答えて

1

$("#window").empty(); の代わりに$("#window").data("kendoWindow").destroy();を使用してください。この方法で剣道ウィジェットは破棄されます。それ以外の場合は、HTML要素のみをクリーンアップします。

は、名前のにもかかわらず、どのようにDestroy Widgets

+0

これは、ウィジェットを破壊するためのリンクを追加したことでトリックと感謝をしました。 – Chris

+0

ちょうどポイントを集めて他人を助ける;) –

1

を参照してください、close機能は、実際のウィンドウを非表示になりますが、それはDOM要素として残ります。つまり、基本的には、ウィンドウを2回目に作成すると、DOM内に2番目の"#window要素が追加され、すでに剣道ウィンドウである間に最初の#windowがkendoWindowとして初期化されます。

だから基本的に、何をする必要が近いのではなく、破壊する機能を呼び出すことです:

function CloseTheWindow() { 
    $("#window").data("kendoWindow").destroy(); 
} 
+0

大きな説明 – Chris

関連する問題