我想使用 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
});
}
}
编辑:要从 anchor 元素 (a
) 调用此功能,请将 win
全局定义到您的页面,并按如下方式定义 anchor 。
<a href="javascript: win('id1', '/page1', 200);">Open id1 window</a>
<a href="javascript: win('id2', '/page2', 200);">Open id2 window</a>
关于javascript - Kendo UI 窗口动态打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431887/