Skip to content
Permalink
Browse files

Tooltip: Accept HTMLElement and jQuery objects for the content option

Fixes #9278
Closes #983
Closes #1421
  • Loading branch information
Daniel Owens authored and jzaefferer committed May 8, 2013
1 parent ae1d6d5 commit 42099e44610face58172ed0ed27115fb2b84ab50
Showing with 29 additions and 8 deletions.
  1. +24 −0 tests/unit/tooltip/tooltip_options.js
  2. +5 −8 ui/tooltip.js
@@ -100,6 +100,30 @@ test( "content: string", function() {
}).tooltip( "open" );
});

test( "content: element", function() {
expect( 1 );
var content = "<p>this is a <i>test</i> of the emergency broadcast system.</p>",
element = $( content )[ 0 ];
$( "#tooltipped1" ).tooltip({
content: element,
open: function( event, ui ) {
equal( ui.tooltip.children().html().toLowerCase(), content );
}
}).tooltip( "open" );
});

test( "content: jQuery", function() {
expect( 1 );
var content = "<p>this is a <i>test</i> of the emergency broadcast system.</p>",
element = $( content );
$( "#tooltipped1" ).tooltip({
content: element,
open: function( event, ui ) {
equal( ui.tooltip.children().html().toLowerCase(), content );
}
}).tooltip( "open" );
});

test( "items", function() {
expect( 2 );
var event,
@@ -208,7 +208,8 @@ return $.widget( "ui.tooltip", {
that = this,
eventType = event ? event.type : null;

if ( typeof contentOption === "string" ) {
if ( typeof contentOption === "string" || contentOption.nodeType ||
contentOption.jquery ) {
return this._open( event, target, contentOption );
}

@@ -276,13 +277,9 @@ return $.widget( "ui.tooltip", {
// JAWS announces deletions even when aria-relevant="additions"
// Voiceover will sometimes re-read the entire log region's contents from the beginning
this.liveRegion.children().hide();
if ( content.clone ) {
a11yContent = content.clone();
a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" );
} else {
a11yContent = content;
}
$( "<div>" ).html( a11yContent ).appendTo( this.liveRegion );
a11yContent = $( "<div>" ).html( tooltip.find( ".ui-tooltip-content" ).html() );
a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" );
a11yContent.appendTo( this.liveRegion );

function position( event ) {
positionOption.of = event;

0 comments on commit 42099e4

Please sign in to comment.
You can’t perform that action at this time.