diff --git a/docs/javascript.html b/docs/javascript.html index 37f7df925b..917b90ae91 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -849,6 +849,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {

Object structure is: delay: { show: 500, hide: 100 }

+ + container + string | false + false + +

Appends the tooltip to a specific element container: 'body'

+ +
diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index dee6bb0f93..e0b291e1dc 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -779,6 +779,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {

{{_i}}Object structure is: delay: { show: 500, hide: 100 }{{/i}}

+ + {{_i}}container{{/i}} + {{_i}}string | false{{/i}} + {{_i}}false{{/i}} + +

{{_i}}Appends the tooltip to a specific element container: 'body'{{/i}}

+ +
diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js index 8c86733877..7f9588283a 100644 --- a/js/bootstrap-tooltip.js +++ b/js/bootstrap-tooltip.js @@ -129,7 +129,8 @@ $tip .detach() .css({ top: 0, left: 0, display: 'block' }) - .insertAfter(this.$element) + + this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) pos = this.getPosition() @@ -290,6 +291,7 @@ , title: '' , delay: 0 , html: false + , container: false } diff --git a/js/tests/unit/bootstrap-tooltip.js b/js/tests/unit/bootstrap-tooltip.js index 1370ef381e..ef21bd96b4 100644 --- a/js/tests/unit/bootstrap-tooltip.js +++ b/js/tests/unit/bootstrap-tooltip.js @@ -241,4 +241,14 @@ $(function () { .tooltip('toggle') ok($(".tooltip").is('.fade.in'), 'tooltip should be toggled in') }) + + test("should place tooltips inside the body", function () { + var tooltip = $('') + .appendTo('#qunit-fixture') + .tooltip({container:'body'}) + .tooltip('show') + ok($("body > .tooltip").length, 'inside the body') + ok(!$("#qunit-fixture > .tooltip").length, 'not found in parent') + tooltip.tooltip('hide') + }) })