mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Draggable: Account for descendants in handle.
This commit is contained in:
parent
6358695df1
commit
cdff72efed
@ -48,7 +48,7 @@
|
||||
<div id="qunit-fixture">
|
||||
<div id="main"></div>
|
||||
<div id="draggable1" style="background: green; width: 200px; height: 100px;">Relative</div>
|
||||
<div id="draggable2" style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div>
|
||||
<div id="draggable2" style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span><em>Absolute</em></span></div>
|
||||
<div id="droppable" style="background: green; width: 200px; height: 100px; position: absolute; top: 110px; left: 110px;"><span>Absolute</span></div>
|
||||
<div style="width: 1px; height: 1000px;"></div>
|
||||
<div style="position: absolute; width: 1px; height: 2000px;"></div>
|
||||
|
@ -603,39 +603,15 @@ test( "grid, switching after initialization", function() {
|
||||
});
|
||||
|
||||
test( "{ handle: 'span' }", function() {
|
||||
expect( 2 );
|
||||
expect( 3 );
|
||||
|
||||
var element = $( "#draggable2" ).draggable({ handle: "span" });
|
||||
|
||||
TestHelpers.draggable.testDrag( element, "#draggable2 span", 50, 50, 50, 50, "drag span" );
|
||||
TestHelpers.draggable.testDrag( element, "#draggable2 span em", 50, 50, 50, 50, "drag span child" );
|
||||
TestHelpers.draggable.shouldNotMove( element, "drag element" );
|
||||
});
|
||||
|
||||
/*
|
||||
test( "{ handle: Selectors }, matching parent selector", function() {
|
||||
|
||||
expect( 4 );
|
||||
|
||||
var element = $( "#draggable2" ).draggable({ handle: "span a" });
|
||||
|
||||
$( "#qunit-fixture" ).append( "<span id='wrapping'><a></a></span>" );
|
||||
|
||||
element.find( "span" ).append( "<a>" );
|
||||
|
||||
$( "#wrapping a" ).append( element );
|
||||
|
||||
TestHelpers.draggable.testDrag( element, "#draggable2 span a", 50, 50, 50, 50, "drag span child" );
|
||||
TestHelpers.draggable.shouldNotMove( $( "#wrapping a" ) );
|
||||
|
||||
$( "#draggable2" ).draggable( "option", "handle", "span > a" );
|
||||
$( "#draggable2" ).find( "a" ).append( "<a>" );
|
||||
|
||||
TestHelpers.draggable.testDrag( element, $( "#draggable2 span a" ).first(), 50, 50, 50, 50, "drag span child" );
|
||||
TestHelpers.draggable.shouldNotMove( $( "#draggable2 span a" ).last() );
|
||||
|
||||
});
|
||||
*/
|
||||
|
||||
test( "handle, default, switching after initialization", function() {
|
||||
expect( 6 );
|
||||
|
||||
|
14
ui/jquery.ui.draggable.js
vendored
14
ui/jquery.ui.draggable.js
vendored
@ -281,17 +281,9 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
},
|
||||
|
||||
_getHandle: function(event) {
|
||||
|
||||
var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false;
|
||||
|
||||
this.element.find( this.options.handle ).each(function() {
|
||||
if(this === event.target) {
|
||||
handle = true;
|
||||
}
|
||||
});
|
||||
|
||||
return handle;
|
||||
|
||||
return this.options.handle ?
|
||||
!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
|
||||
true;
|
||||
},
|
||||
|
||||
_createHelper: function(event) {
|
||||
|
Loading…
Reference in New Issue
Block a user