Skip to content

Commit

Permalink
Draggable: made handles work with complex markup. Fixes #8757 - Dragg…
Browse files Browse the repository at this point in the history
…able: Resizable handle with inner element does not work, when its also draggable
  • Loading branch information
MatteS75 authored and mikesherov committed Nov 19, 2012
1 parent cc7df71 commit cf9fbce
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 1 deletion.
1 change: 1 addition & 0 deletions tests/unit/draggable/draggable.html
Expand Up @@ -16,6 +16,7 @@
"ui/jquery.ui.core.js",
"ui/jquery.ui.widget.js",
"ui/jquery.ui.mouse.js",
"ui/jquery.ui.resizable.js",
"ui/jquery.ui.draggable.js"
]
});
Expand Down
29 changes: 29 additions & 0 deletions tests/unit/draggable/draggable_core.js
Expand Up @@ -44,4 +44,33 @@ test("No options, absolute", function() {
TestHelpers.draggable.shouldMove(el);
});

test("resizable handle with complex markup (#8756 / #8757)", function() {
expect( 2 );

$('#draggable1')
.append(
$('<div>')
.addClass("ui-resizable-handle")
.addClass("ui-resizable-w")
.append($('<div>'))
);

var handle = '.ui-resizable-w div',
target = $('#draggable1').draggable().resizable({ handles: 'all' }),
drag = function(el, dx) {
$(el)
.simulate("mouseover")
.simulate("drag", {
dx: dx || 0,
speed: 'sync'
});
};

drag(handle, -50);
equal( target.width(), 250, "compare width" );

drag(handle, 50);
equal( target.width(), 200, "compare width" );
});

})(jQuery);
2 changes: 1 addition & 1 deletion ui/jquery.ui.draggable.js
Expand Up @@ -70,7 +70,7 @@ $.widget("ui.draggable", $.ui.mouse, {
var o = this.options;

// among others, prevent a drag on a resizable-handle
if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle')) {
if (this.helper || o.disabled || $(event.target).closest('.ui-resizable-handle').length > 0) {
return false;
}

Expand Down

0 comments on commit cf9fbce

Please sign in to comment.