aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/resizable/resizable_core.js20
-rw-r--r--ui/jquery.ui.resizable.js9
2 files changed, 25 insertions, 4 deletions
diff --git a/tests/unit/resizable/resizable_core.js b/tests/unit/resizable/resizable_core.js
index 01f15bd4b..a1ac22272 100644
--- a/tests/unit/resizable/resizable_core.js
+++ b/tests/unit/resizable/resizable_core.js
@@ -129,4 +129,24 @@ test("nw", function() {
equal( target.height(), 100, "compare height" );
});
+test("handle with complex markup (#8756)", function() {
+ expect(2);
+
+ $('#resizable1')
+ .append(
+ $('<div>')
+ .addClass("ui-resizable-handle")
+ .addClass("ui-resizable-w")
+ .append($('<div>'))
+ );
+
+ var handle = '.ui-resizable-w div', target = $('#resizable1').resizable({ handles: 'all' });
+
+ TestHelpers.resizable.drag(handle, -50);
+ equal( target.width(), 150, "compare width" );
+
+ TestHelpers.resizable.drag(handle, 50);
+ equal( target.width(), 100, "compare width" );
+});
+
})(jQuery);
diff --git a/ui/jquery.ui.resizable.js b/ui/jquery.ui.resizable.js
index 13f6c71d0..c2ad28716 100644
--- a/ui/jquery.ui.resizable.js
+++ b/ui/jquery.ui.resizable.js
@@ -231,14 +231,15 @@ $.widget("ui.resizable", $.ui.mouse, {
},
_mouseCapture: function(event) {
- var handle = false;
+ var capture = false;
for (var i in this.handles) {
- if ($(this.handles[i])[0] == event.target) {
- handle = true;
+ var handle = $(this.handles[i])[0];
+ if (handle == event.target || $.contains(handle, event.target)) {
+ capture = true;
}
}
- return !this.options.disabled && handle;
+ return !this.options.disabled && capture;
},
_mouseStart: function(event) {