为剑道UI窗口添加全局功能

Adding global function for Kendo UI Window

本文关键字:添加 全局 功能 窗口 UI      更新时间:2023-09-26

我是Kendo Window的新手,我打算将window.resize()函数声明为页面中所有Kendo Windows的全局jquery函数。我该如何声明它?

我已经在下面的.js文件中添加了这段代码,并在_Layout.cshtml中引用了它,但它不起作用:

$(window).resize(function() {
    $(".k-window").kendoWindow().center();
});

单独使用时,我正在使用以下代码集:

var modal = $("#mdlWindow").kendoWindow({
    visible: false,
    resizable: true,
    modal: true,
    content: "../Position/Info,
    width: "50%",
    height: "50%",
    maxWidth: 500,
    maxHeight: 600,
    minWidth: 300,
    minHeight: 400,
    top: 0,
    bottom: 0,
    left: 0,
    right: 0,
    iframe: true
}).data("kendoWindow");
modal.center().open();
$(window).resize(function() {
    modal.center();
});

接受任何建议。如果有办法在 css 中做到这一点,我会尝试一下。

首先,

剑道窗口是一个特定的剑道UI小部件,其中小部件元素没有类k-window而是k-window-content。类 k-window 正在添加到元素容器中。

其次,要获取剑道窗口实例,您应该使用.data('kendoWindow')方法而不是.kendoWindow()

最后,如果您打开了多个窗口,则必须迭代所有窗口才能单独执行操作。

因此,将所有 Kendo 窗口集中在事件window.resize()代码应如下所示:

$(window).resize(function() {
    var windows = $(".k-window-content");
    windows.each(function(i,v){
        $(v).data("kendoWindow").center();
    });
});

以下是剑道UI道场示例: http://dojo.telerik.com/OjuwU