Использую в своем проекте jQuery 1.5.1 jQuery Ui 1.8.11. Все работало до момента, появления ошибки:
elem.ownerDocument is undefined
- Line 5953
if ( !(defaultView = elem.ownerDocument.defaultView) ) {
Обычно она возникает когда, создаю диалог (jquery.ui.dialog), как мне кажется ошибка возникает когда виджет показывается то есть когда у него меняется свойство CSS display, например:
$.alert = function (title, text) {
var $$html = '<div class="ui-confirmation"> <p>'
+ '<span class="ui-icon ui-icon-info"></span>'
+ '<p class="ui-text">' + text + '</p>'
+ '</p></div>';
var $ui = $($$html).dialog({
bgiframe: true ,
resizable: false,
height: 200,
width: 400,
modal: true ,
autoOpen: true ,
title: title,
buttons: {'Да': function(){$(this).dialog('close')}},
close: function () {$(this).dialog('destroy').remove();}
});
return true;
};
Так же возникает при использования плагина jquery.ui.datapiker, при попытки открытие виджета, показ его на странице. Похожа та же ситуация, плагин пытается показать виджет на странице изменив свойство CSS display.
Залез в исходный файл jQuery 1.5.1. дополнил условием код, чтоб обойти ошибку.
var ownerDocument = elem.ownerDocument;
if ( !ownerDocument) {
return undefined;
}
var defaultView = ownerDocument.defaultView;
if ( !defaultView ) {
return undefined;
}
От ошибки избавился, но теперь моросит плагин jquery.ui.datapiker. При попытки месяца с помощью кнопочек в заголовке виджет, виджет закрывается. А точнее виджет закрывает при любом событие onclick, которое возникает
как внутри контейнера div#ui-datepicker-div, так и на любом элементе страницы. Виджет делает все что нужно в принципе, но какой то обработчик события onclick видимо обрабатывает не верно. Не срабатывает условия...
Я так думаю я что то на фигачил :-). Где нибудь но блин не пойму где. В чем проблема? Не знаю. Может у кого нибудь была такая проблема. Пипец как нужно разрешить данную ситуацию