2013-09-30 3 views
1

Я пытаюсь подкласс Kendo Window. Пока мое подклассовое Окно работает. Однако он прерывает событие закрытия для стандартного окна Kendo. Когда вызывается событие закрытия, следующая ошибка вызывается Uncaught TypeError: Cannot read property 'options' of undefined.Расширение разрыва окна kendo kendoWindow

вот пример того, что я пытаюсь сделать. http://jsbin.com/IfoMOPU/6/edit?html,js,output

Что мне не хватает, чтобы исправить это?

ответ

1

Я считаю, что это проблема с ошибкой/дизайном в пользовательском интерфейсе Kendo. Единственное решение теперь заменить виджет kendoWindow и обновить функцию «windowObject» так оно и возвращает ваши окна подклассы:

function windowObject(element, name) { 
    var contentElement = element.children(KWINDOWCONTENT); 

    return contentElement.data("kendoWindow") || contentElement.data("kendoMyWindow") || contentElement.data("kendo" + name); 
} 

Fixed пример: http://jsbin.com/OfIHOm/1/edit

Update: По состоянию на Q2 2013 SP1 (версия 2013.2.918), код в private function windowObject был перемещен в метод _object.

Это означает, что вы можете создать подкласс kendoWindow, как и любой другой виджет, но вам все равно необходимо обновить метод _object kendoWindow в:

/** 
* 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); 
}; 

Обновлен пример в http://jsfiddle.net/lhoeppner/qj2HL/

0

Я столкнулся с этой проблемой, потому что мой Окно kendo загружало динамический скрипт в его содержимое. Переместив этот скрипт в заголовок, он решил проблему

Смежные вопросы