aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/resizable/options.js28
-rw-r--r--ui/widgets/resizable.js8
2 files changed, 26 insertions, 10 deletions
diff --git a/tests/unit/resizable/options.js b/tests/unit/resizable/options.js
index f89682593..4080bac0e 100644
--- a/tests/unit/resizable/options.js
+++ b/tests/unit/resizable/options.js
@@ -434,11 +434,20 @@ QUnit.test( "zIndex, applied to all handles", function( assert ) {
} );
QUnit.test( "setOption handles", function( assert ) {
- assert.expect( 11 );
-
- var target = $( "<div></div>" ).resizable();
-
- function checkHandles( expectedHandles ) {
+ assert.expect( 15 );
+
+ var target = $( "<div></div>" ).resizable(),
+ target2 = $( "<div>" +
+ "<div class='ui-resizable-handle ui-resizable-e'></div>" +
+ "<div class='ui-resizable-handle ui-resizable-w'></div>" +
+ "</div>" ).resizable( {
+ handles: {
+ "e": "ui-resizable-e",
+ "w": "ui-resizable-w"
+ }
+ } );
+
+ function checkHandles( target, expectedHandles ) {
expectedHandles = $.map( expectedHandles, function( value ) {
return ".ui-resizable-" + value;
} );
@@ -451,13 +460,16 @@ QUnit.test( "setOption handles", function( assert ) {
} );
}
- checkHandles( [ "e", "s", "se" ] );
+ checkHandles( target, [ "e", "s", "se" ] );
target.resizable( "option", "handles", "n, w, nw" );
- checkHandles( [ "n", "w", "nw" ] );
+ checkHandles( target, [ "n", "w", "nw" ] );
target.resizable( "option", "handles", "s, w" );
- checkHandles( [ "s", "w" ] );
+ checkHandles( target, [ "s", "w" ] );
+
+ target2.resizable( "option", "handles", "e, s, w" );
+ checkHandles( target2, [ "e", "s", "w" ] );
} );
QUnit.test( "alsoResize + containment", function( assert ) {
diff --git a/ui/widgets/resizable.js b/ui/widgets/resizable.js
index f20bc791d..b5264ee53 100644
--- a/ui/widgets/resizable.js
+++ b/ui/widgets/resizable.js
@@ -250,6 +250,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
} );
this._handles = $();
+ this._addedHandles = $();
if ( this.handles.constructor === String ) {
if ( this.handles === "all" ) {
@@ -269,7 +270,10 @@ $.widget( "ui.resizable", $.ui.mouse, {
axis.css( { zIndex: o.zIndex } );
this.handles[ handle ] = ".ui-resizable-" + handle;
- this.element.append( axis );
+ if ( !this.element.children( this.handles[ handle ] ).length ) {
+ this.element.append( axis );
+ this._addedHandles = this._addedHandles.add( axis );
+ }
}
}
@@ -335,7 +339,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
},
_removeHandles: function() {
- this._handles.remove();
+ this._addedHandles.remove();
},
_mouseCapture: function( event ) {