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,
View
@@ -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.