簡體   English   中英

KendoUI窗口動態打開

[英]KendoUI Window Dynamic Open

我想使用kendoui窗口來打開動態數量的窗口,理想情況下,如果該窗口已按名稱存在,它將顯示相同的窗口。

所以我在想象一個javascript函數

win(name, url, width)

我會從各個地方打電話給我

<button onclick="win('my window', '/example/view', 100);">click me</button>

我不太確定如何使用其名稱創建一個像這樣的窗口,以及如何檢查它是否已經存在。

該應用程序非常簡單,有一系列菜單,每個菜單都會打開一個窗口,但是菜單是從數據庫內容驅動的,因此我無法預定義所有窗口

win函數中,您應該檢查是否已經創建了KendoUI窗口。 如果是這樣,則可以重用現有的並打開它。 否則,您將創建它。

例:

function win (name, url, width) {
    var my_win = $("#" + name).data("kendoWindow");
    if (my_win) {
        // already exist, reuse it
        my_win.open();
    } else {
        // does not exist, create it
        // create a div with id "name" for my window and append it to 
        // to a container ("example") where all the windows are going to be.
        my_win = $("<div id='" + name + "'></div>").kendoWindow({
              title: name,
              content: url,
              width: width,
              appendTo: "#example",
              visible: true
        });
    }
}

編輯:要從錨元素( a )調用此屬性,請在頁面上全局定義win並按以下方式定義錨。

  <a href="javascript: win('id1', '/page1', 200);">Open id1 window</a>
  <a href="javascript: win('id2', '/page2', 200);">Open id2 window</a>

此處的示例: http : //dojo.telerik.com/@OnaBai/ekIba/2

KendoUI窗口打開后,它將創建以<div class="k-widget k-window" data-role="......開頭的HTML元素集。對於每個窗口,它將創建單獨的HTML集。

因此,您可以使用var kendoeWinElems = $('.k-window')過濾所有這些窗口

然后循環查找標題區域(.k-window-title),並與窗口的名稱和標題進行比較,然后調用relaventWindow.data("kendoWindow").open();

為了便於比較和過濾,建議您添加按鈕和Kendo窗口所需的數據屬性或類。

希望有幫助!!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM