mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Draggable: Manage ui-draggable-handle correctly in nested instances
This commit is contained in:
parent
7594a31425
commit
3ca32b2ad8
@ -291,4 +291,17 @@ test( "ui-draggable-handle assigned to appropriate element", function() {
|
||||
ok( !element.find( "p" ).hasClass( "ui-draggable-handle" ), "removed in destroy()" );
|
||||
});
|
||||
|
||||
test( "ui-draggable-handle managed correctly in nested draggables", function() {
|
||||
expect( 4 );
|
||||
var parent = $( "<div><div></div></div>" ).draggable().appendTo( "#qunit-fixture" ),
|
||||
child = parent.find( "div" ).draggable();
|
||||
|
||||
ok( parent.hasClass( "ui-draggable-handle" ), "parent has class name on init" );
|
||||
ok( child.hasClass( "ui-draggable-handle" ), "child has class name on init" );
|
||||
|
||||
parent.draggable( "destroy" );
|
||||
ok( !parent.hasClass( "ui-draggable-handle" ), "parent loses class name on destroy" );
|
||||
ok( child.hasClass( "ui-draggable-handle" ), "child retains class name on destroy" );
|
||||
});
|
||||
|
||||
})( jQuery );
|
||||
|
@ -78,6 +78,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
_setOption: function( key, value ) {
|
||||
this._super( key, value );
|
||||
if ( key === "handle" ) {
|
||||
this._removeHandleClassName();
|
||||
this._setHandleClassName();
|
||||
}
|
||||
},
|
||||
@ -314,16 +315,13 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
},
|
||||
|
||||
_setHandleClassName: function() {
|
||||
var handle = this.options.handle ?
|
||||
this.handleElement = this.options.handle ?
|
||||
this.element.find( this.options.handle ) : this.element;
|
||||
this._removeHandleClassName();
|
||||
handle.addClass( "ui-draggable-handle" );
|
||||
this.handleElement.addClass( "ui-draggable-handle" );
|
||||
},
|
||||
|
||||
_removeHandleClassName: function() {
|
||||
this.element.find( ".ui-draggable-handle" )
|
||||
.addBack()
|
||||
.removeClass( "ui-draggable-handle" );
|
||||
this.handleElement.removeClass( "ui-draggable-handle" );
|
||||
},
|
||||
|
||||
_createHelper: function(event) {
|
||||
|
Loading…
Reference in New Issue
Block a user