我正在尝试子类Kendo窗口。到目前为止,我的子类窗口正在工作。但是,它打破了标准Kendo窗口的关闭事件。当关闭事件被调用时,抛出跟随错误Uncaught TypeError: Cannot read property 'options' of undefined
。扩展kendo窗口breakbreak kendoWindow
这里是我想要做的一个例子。 http://jsbin.com/IfoMOPU/6/edit?html,js,output
我错过了什么来解决这个问题?
我正在尝试子类Kendo窗口。到目前为止,我的子类窗口正在工作。但是,它打破了标准Kendo窗口的关闭事件。当关闭事件被调用时,抛出跟随错误Uncaught TypeError: Cannot read property 'options' of undefined
。扩展kendo窗口breakbreak kendoWindow
这里是我想要做的一个例子。 http://jsbin.com/IfoMOPU/6/edit?html,js,output
我错过了什么来解决这个问题?
我相信这是Kendo UI中的一个错误/设计问题。 目前唯一的解决办法是更换kendoWindow小部件以及更新“windowObject”功能,因此它也返回你的窗口的子类:
function windowObject(element, name) {
var contentElement = element.children(KWINDOWCONTENT);
return contentElement.data("kendoWindow") || contentElement.data("kendoMyWindow") || contentElement.data("kendo" + name);
}
固定例如:http://jsbin.com/OfIHOm/1/edit
更新: 由于Q2的2013 SP1(版本2013.2.918)中,私有函数windowObject中的代码已移至方法_object。
这意味着,你可以继承kendoWindow像任何其他部件,但是你仍然需要更新kendoWindow的_object方法:
/**
* update kendoWindow's _object method to return our new widget as well
*/
ui.Window.fn._object = function (element) {
var content = element.children(KWINDOWCONTENT);
return content.data("kendoWindow") || content.data("kendoMyWindow") || content.data("kendo" + this.options.name);
};
我就遇到了这个问题,因为我的kendo窗口正在其内容中加载动态脚本。通过将此脚本移动到标题中,它解决了问题