mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Tooltip: Added a destroy method to remove generated tooltip elements.
This commit is contained in:
parent
302ad626bf
commit
2fbd310a15
20
ui/jquery.ui.tooltip.js
vendored
20
ui/jquery.ui.tooltip.js
vendored
@ -35,6 +35,9 @@ $.widget( "ui.tooltip", {
|
||||
mouseover: "open",
|
||||
focusin: "open"
|
||||
});
|
||||
|
||||
// IDs of generated tooltips, needed for destroy
|
||||
this.tooltips = {};
|
||||
},
|
||||
|
||||
_setOption: function( key, value ) {
|
||||
@ -114,7 +117,8 @@ $.widget( "ui.tooltip", {
|
||||
},
|
||||
|
||||
close: function( event ) {
|
||||
var target = $( event ? event.currentTarget : this.element );
|
||||
var that = this,
|
||||
target = $( event ? event.currentTarget : this.element );
|
||||
target.attr( "title", target.data( "tooltip-title" ) );
|
||||
|
||||
if ( this.options.disabled ) {
|
||||
@ -127,6 +131,7 @@ $.widget( "ui.tooltip", {
|
||||
tooltip.stop( true );
|
||||
this._hide( tooltip, this.options.hide, function() {
|
||||
$( this ).remove();
|
||||
delete that[ this.id ];
|
||||
});
|
||||
|
||||
// TODO: why isn't click unbound here?
|
||||
@ -136,9 +141,10 @@ $.widget( "ui.tooltip", {
|
||||
},
|
||||
|
||||
_tooltip: function() {
|
||||
var tooltip = $( "<div>" )
|
||||
var id = "ui-tooltip-" + increments++,
|
||||
tooltip = $( "<div>" )
|
||||
.attr({
|
||||
id: "ui-tooltip-" + increments++,
|
||||
id: id,
|
||||
role: "tooltip"
|
||||
})
|
||||
.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content" +
|
||||
@ -147,12 +153,20 @@ $.widget( "ui.tooltip", {
|
||||
.addClass( "ui-tooltip-content" )
|
||||
.appendTo( tooltip );
|
||||
tooltip.appendTo( document.body );
|
||||
this.tooltips[ id ] = true;
|
||||
return tooltip;
|
||||
},
|
||||
|
||||
_find: function( target ) {
|
||||
var id = target.attr( "aria-describedby" );
|
||||
return id ? $( "#" + id ) : $();
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
$.each( this.tooltips, function( id ) {
|
||||
$( "#" + id ).remove();
|
||||
});
|
||||
this._super( "destroy" );
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user