Skip to content

Commit a546975

Browse files
committed
Merge branch 'draggable_fix_9077'
2 parents bce9da4 + 3d39d8c commit a546975

File tree

3 files changed

+47
-8
lines changed

3 files changed

+47
-8
lines changed

tests/unit/draggable/draggable.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66

77
<script src="../../jquery.js"></script>
88
<link rel="stylesheet" href="../../../external/qunit.css">
9+
10+
<style>
11+
/* See #9077 */
12+
#draggable3, #draggable4 { z-index: 100; }
13+
</style>
14+
915
<script src="../../../external/qunit.js"></script>
1016
<script src="../../jquery.simulate.js"></script>
1117
<script src="../testsuite.js"></script>
@@ -39,13 +45,14 @@ <h2 id="qunit-banner"></h2>
3945
<h2 id="qunit-userAgent"></h2>
4046
<ol id="qunit-tests"></ol>
4147
<div id="qunit-fixture">
42-
4348
<div id="main"></div>
4449

4550
<div id="draggable1" style="background: green; width: 200px; height: 100px;">Relative</div>
4651
<div id="draggable2" style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div>
4752
<div style='width: 1px; height: 1000px;'></div>
4853
<div style="position: absolute; width: 1px; height: 2000px;"></div>
54+
<div id="draggable3"></div>
55+
<div id="draggable4"></div>
4956

5057
</div>
5158

tests/unit/draggable/draggable_options.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,4 +723,39 @@ test("{ zIndex: 10 }", function() {
723723

724724
});
725725

726+
test( "{ stack }", function() {
727+
expect( 4 );
728+
729+
var draggable1 = $( "#draggable1" ),
730+
draggable2 = $( "#draggable2" ),
731+
draggable3 = $( "#draggable3" ),
732+
draggable4 = $( "#draggable4" );
733+
734+
// Set z-index as an inline style.
735+
$( "#draggable1, #draggable2" )
736+
.css( "zIndex", 100 )
737+
.draggable({
738+
stack: "#draggable1, #draggable2"
739+
});
740+
// Have z-index applied via CSS, see #9077
741+
$( "#draggable3, #draggable4" )
742+
.draggable({
743+
stack: "#draggable3, #draggable4"
744+
});
745+
746+
draggable1.simulate( "drag", {
747+
dx: 1,
748+
dy: 1
749+
});
750+
draggable3.simulate( "drag", {
751+
dx: 1,
752+
dy: 1
753+
});
754+
755+
equal( draggable1.css( "zIndex" ), 102);
756+
equal( draggable2.css( "zIndex" ), 101);
757+
equal( draggable3.css( "zIndex" ), 102);
758+
equal( draggable4.css( "zIndex" ), 101);
759+
});
760+
726761
})(jQuery);

ui/jquery.ui.draggable.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -908,22 +908,19 @@ $.ui.plugin.add("draggable", "snap", {
908908

909909
$.ui.plugin.add("draggable", "stack", {
910910
start: function() {
911-
912911
var min,
913-
o = $(this).data("ui-draggable").options,
912+
o = this.data("ui-draggable").options,
914913
group = $.makeArray($(o.stack)).sort(function(a,b) {
915914
return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
916915
});
917916

918917
if (!group.length) { return; }
919918

920-
min = parseInt(group[0].style.zIndex, 10) || 0;
919+
min = parseInt($(group[0]).css("zIndex"), 10) || 0;
921920
$(group).each(function(i) {
922-
this.style.zIndex = min + i;
921+
$(this).css("zIndex", min + i);
923922
});
924-
925-
this[0].style.zIndex = min + group.length;
926-
923+
this.css("zIndex", (min + group.length));
927924
}
928925
});
929926

0 commit comments

Comments
 (0)