Skip to content
Permalink
Browse files

Draggable: made handles work with complex markup. Fixes #8757 - Dragg…

…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 cf9fbce13931732dc4b06d491ef2a01c4921faf1
Showing with 31 additions and 1 deletion.
  1. +1 −0 tests/unit/draggable/draggable.html
  2. +29 −0 tests/unit/draggable/draggable_core.js
  3. +1 −1 ui/jquery.ui.draggable.js
@@ -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"
]
});
@@ -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);
@@ -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;
}

0 comments on commit cf9fbce

Please sign in to comment.
You can’t perform that action at this time.