diff options
author | Konstantin Dinev <kdinev@mail.bw.edu> | 2017-02-28 18:21:46 +0200 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2017-04-17 14:58:12 -0400 |
commit | c426b9a203271ab5e5e5f165a1d686c8281164bf (patch) | |
tree | abc36e4094fe3b89973c221ba50a1781fb081771 | |
parent | c6e2b52d70b8caf920f382402aba9f04de7e32b2 (diff) | |
download | jquery-ui-c426b9a203271ab5e5e5f165a1d686c8281164bf.tar.gz jquery-ui-c426b9a203271ab5e5e5f165a1d686c8281164bf.zip |
Resizable: Keep user-provided handles on destroy
Closes gh-1798
Ref gh-1795
-rw-r--r-- | tests/unit/resizable/options.js | 10 | ||||
-rw-r--r-- | ui/widgets/resizable.js | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/tests/unit/resizable/options.js b/tests/unit/resizable/options.js index 4080bac0e..81206abf8 100644 --- a/tests/unit/resizable/options.js +++ b/tests/unit/resizable/options.js @@ -434,8 +434,10 @@ QUnit.test( "zIndex, applied to all handles", function( assert ) { } ); QUnit.test( "setOption handles", function( assert ) { - assert.expect( 15 ); + assert.expect( 19 ); + // https://bugs.jqueryui.com/ticket/3423 + // https://bugs.jqueryui.com/ticket/15084 var target = $( "<div></div>" ).resizable(), target2 = $( "<div>" + "<div class='ui-resizable-handle ui-resizable-e'></div>" + @@ -470,6 +472,12 @@ QUnit.test( "setOption handles", function( assert ) { target2.resizable( "option", "handles", "e, s, w" ); checkHandles( target2, [ "e", "s", "w" ] ); + + target.resizable( "destroy" ); + checkHandles( target, [ ] ); + + target2.resizable( "destroy" ); + checkHandles( target2, [ "e", "w" ] ); } ); QUnit.test( "alsoResize + containment", function( assert ) { diff --git a/ui/widgets/resizable.js b/ui/widgets/resizable.js index b5264ee53..36dd12514 100644 --- a/ui/widgets/resizable.js +++ b/ui/widgets/resizable.js @@ -187,15 +187,14 @@ $.widget( "ui.resizable", $.ui.mouse, { _destroy: function() { this._mouseDestroy(); + this._addedHandles.remove(); var wrapper, _destroy = function( exp ) { $( exp ) .removeData( "resizable" ) .removeData( "ui-resizable" ) - .off( ".resizable" ) - .find( ".ui-resizable-handle" ) - .remove(); + .off( ".resizable" ); }; // TODO: Unwrap at same DOM position |