为Kendo UI Window添加全局功能

时间:2015-01-09 07:26:47

标签: javascript c# jquery css kendo-ui

我是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中进行,我会尝试。

1 个答案:

答案 0 :(得分:1)

首先,Kendo Window是一个特定的Kendo UI小部件,其中widget元素没有k-window类但k-window-content。类k-window正在添加到元素容器中。

其次要获得Kendo Window实例,你应该使用.data('kendoWindow')方法而不是.kendoWindow()

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

因此,以window.resize()事件为中心的所有Kendo窗口的代码应如下所示:

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

这是Kendo UI Dojo示例:http://dojo.telerik.com/OjuwU