【问题标题】:Adding global function for Kendo UI Window为 Kendo UI 窗口添加全局功能
【发布时间】:2015-01-09 07:26:46
【问题描述】:

我是 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 中做到这一点,我会尝试。

【问题讨论】:

    标签: javascript c# jquery css kendo-ui


    【解决方案1】:

    首先,Kendo Window 是一个特定的 Kendo UI 小部件,其中小部件元素没有 k-window 类,而是 k-window-contentk-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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多