r854 - trunk/ui
r854 - trunk/ui
Author: rdworth
Date: Sat Nov 1 07:49:38 2008
New Revision: 854
Modified:
trunk/ui/ui.dialog.js
Log:
Fixed #3193 - Cannot select scrollbars inside dialog in Opera 9.51
Modified: trunk/ui/ui.dialog.js
==============================================================================
--- trunk/ui/ui.dialog.js (original)
+++ trunk/ui/ui.dialog.js Sat Nov 1 07:49:38 2008
@@ -52,6 +52,9 @@
uiDialogTitlebar = (this.uiDialogTitlebar = $('<div/>'))
.addClass('ui-dialog-titlebar')
.append('<a href="#"
class="ui-dialog-titlebar-close"><span>X</span></a>')
+ .mousedown(function() {
+ self.moveToTop();
+ })
.prependTo(uiDialogContainer),
title = options.title || ' ',
@@ -82,7 +85,7 @@
})
.ariaRole("dialog")
.ariaState("labelledby", titleId)
- .mousedown(function() {
+ .mouseup(function() {
self.moveToTop();
}),
@@ -92,24 +95,24 @@
position: 'absolute',
bottom: 0
})
- .appendTo(uiDialog);
-
- this.uiDialogTitlebarClose = $('.ui-dialog-titlebar-close',
uiDialogTitlebar)
- .hover(
- function() {
- $(this).addClass('ui-dialog-titlebar-close-hover');
- },
- function() {
- $(this).removeClass('ui-dialog-titlebar-close-hover');
- }
- )
- .mousedown(function(ev) {
- ev.stopPropagation();
- })
- .click(function() {
- self.close();
- return false;
- });
+ .appendTo(uiDialog),
+
+ uiDialogTitlebarClose = $('.ui-dialog-titlebar-close', uiDialogTitlebar)
+ .hover(
+ function() {
+ $(this).addClass('ui-dialog-titlebar-close-hover');
+ },
+ function() {
+ $(this).removeClass('ui-dialog-titlebar-close-hover');
+ }
+ )
+ .mousedown(function(ev) {
+ ev.stopPropagation();
+ })
+ .click(function() {
+ self.close();
+ return false;
+ });
uiDialogTitlebar.find("*").add(uiDialogTitlebar).each(function() {
$.ui.disableSelection(this);
@@ -172,8 +175,12 @@
maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10) ||
options.zIndex);
});
(this.overlay && this.overlay.$el.css('z-index', ++maxZ));
- this.uiDialog.css('z-index', ++maxZ);
+ //Save and then restore scroll since Opera 9.5+ resets when parent
z-Index is changed.
+ // http://ui.jquery.com/bugs/ticket/3193
+ var saveScroll = { scrollTop: this.element.attr('scrollTop'),
scrollLeft: this.element.attr('scrollLeft') };
+ this.uiDialog.css('z-index', ++maxZ);
+ this.element.attr(saveScroll);
this._trigger('focus', null, { options: this.options });
},