} );
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;
} );
} );
}
- 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 ) {
} );
this._handles = $();
+ this._addedHandles = $();
if ( this.handles.constructor === String ) {
if ( this.handles === "all" ) {
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 );
+ }
}
}
},
_removeHandles: function() {
- this._handles.remove();
+ this._addedHandles.remove();
},
_mouseCapture: function( event ) {