//соль данного подхода заключается в то чтобы скрыть div модальной панели который отвечает за //устанавливаемый курсор во время перетаскивания (у нас при наведении на заголовок панели и перетаскивании) //используется один и тот же курсор. Таким образом в результате работы данного метода панель всегда //скрыта и не происходит её постоянной отрисовке поверх всех элементов документа и не вызывается выделение. //должен использоваться отдельно от opera.js т.к. они переопределяют одно и тоже событие //в опере проблемы требующей данного решения нет function modalPanelSelection() { try { // извлекает нетод из RichFaces ModalPanel класса отвечающего за работу модальных окон. // данный метод отвечает за процесс выполнения событий пораждаемых подальным окном var oldInvokeEvent = ModalPanel.prototype.invokeEvent; // определяется новый метод обработки событий в ModalPanel // данный метод анализирует eventName (название события), в случае если eventName == 'beforehide' // вызываются функции которые принудительно заставляют оперу перерисовать все окно страницы. // далее встраивается стандартный обработчик событий var newInvokeEvent = function(eventName, event, value, element) { if (eventName == 'beforeshow') { var elems = getElementsByClass('rich-mpnl-mask-div rich-mpnl-mask-div-transparent'); for (var i = 0; i < elems.length; i++) { if (elems[i].id.substr(-9) === "CursorDiv") { elems[i].style.display = "none"; } } } return oldInvokeEvent; } // подставляется новый метод выполнения событий в RichFaces ModalPanel. ModalPanel.prototype.invokeEvent = newInvokeEvent; } catch(err) { } } onloadChain = window.onload; window.onload = function() { modalPanelSelection(); return onloadChain; }