aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Dinev <kdinev@mail.bw.edu>2017-02-28 18:21:46 +0200
committerScott González <scott.gonzalez@gmail.com>2017-04-17 14:58:12 -0400
commitc426b9a203271ab5e5e5f165a1d686c8281164bf (patch)
treeabc36e4094fe3b89973c221ba50a1781fb081771
parentc6e2b52d70b8caf920f382402aba9f04de7e32b2 (diff)
downloadjquery-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.js10
-rw-r--r--ui/widgets/resizable.js5
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