Resizable: Removed Opera relative/absolute positioning exception code. Fixed #6763 - ui.dialog & resizable & button & opera 11

(cherry picked from commit f5e5971821)
This commit is contained in:
TJ VanToll 2012-02-06 21:17:39 -05:00 committed by Scott González
parent edd52edff4
commit 28fb436b7b

View File

@ -50,10 +50,6 @@ $.widget("ui.resizable", $.ui.mouse, {
//Wrap the element if it cannot hold child nodes //Wrap the element if it cannot hold child nodes
if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) { if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
//Opera fix for relative positioning
if (/relative/.test(this.element.css('position')) && $.browser.opera)
this.element.css({ position: 'relative', top: 'auto', left: 'auto' });
//Create a wrapper element and set the wrapper to the new current internal element //Create a wrapper element and set the wrapper to the new current internal element
this.element.wrap( this.element.wrap(
$('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({ $('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({
@ -247,10 +243,6 @@ $.widget("ui.resizable", $.ui.mouse, {
el.css({ position: 'absolute', top: iniPos.top, left: iniPos.left }); el.css({ position: 'absolute', top: iniPos.top, left: iniPos.left });
} }
//Opera fixing relative position
if ($.browser.opera && (/relative/).test(el.css('position')))
el.css({ position: 'relative', top: 'auto', left: 'auto' });
this._renderProxy(); this._renderProxy();
var curleft = num(this.helper.css('left')), curtop = num(this.helper.css('top')); var curleft = num(this.helper.css('left')), curtop = num(this.helper.css('top'));
@ -566,8 +558,7 @@ $.ui.plugin.add("resizable", "alsoResize", {
var el = $(this); var el = $(this);
el.data("resizable-alsoresize", { el.data("resizable-alsoresize", {
width: parseInt(el.width(), 10), height: parseInt(el.height(), 10), width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
left: parseInt(el.css('left'), 10), top: parseInt(el.css('top'), 10), left: parseInt(el.css('left'), 10), top: parseInt(el.css('top'), 10)
position: el.css('position') // to reset Opera on stop()
}); });
}); });
}; };
@ -599,12 +590,6 @@ $.ui.plugin.add("resizable", "alsoResize", {
style[prop] = sum || null; style[prop] = sum || null;
}); });
// Opera fixing relative position
if ($.browser.opera && /relative/.test(el.css('position'))) {
self._revertToRelativePosition = true;
el.css({ position: 'absolute', top: 'auto', left: 'auto' });
}
el.css(style); el.css(style);
}); });
}; };
@ -617,25 +602,6 @@ $.ui.plugin.add("resizable", "alsoResize", {
}, },
stop: function (event, ui) { stop: function (event, ui) {
var self = $(this).data("resizable"), o = self.options;
var _reset = function (exp) {
$(exp).each(function() {
var el = $(this);
// reset position for Opera - no need to verify it was changed
el.css({ position: el.data("resizable-alsoresize").position });
});
};
if (self._revertToRelativePosition) {
self._revertToRelativePosition = false;
if (typeof(o.alsoResize) == 'object' && !o.alsoResize.nodeType) {
$.each(o.alsoResize, function (exp) { _reset(exp); });
}else{
_reset(o.alsoResize);
}
}
$(this).removeData("resizable-alsoresize"); $(this).removeData("resizable-alsoresize");
} }
}); });