diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index 0a3a7aa80..3e558c4f7 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -755,6 +755,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}Toggles an element's tooltip.{{/i}}
$('#element').tooltip('toggle')
+ {{_i}}Destroys an element's tooltip.{{/i}}
+$('#element').tooltip('destroy')
@@ -821,7 +824,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}Toggles an elements popover.{{/i}}
$('#element').popover('toggle')
+ {{_i}}Destroys an element's popover.{{/i}}
+$('#element').popover('destroy')
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index c6c1f8b47..fe22ecb47 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -71,6 +71,10 @@
return this.$tip
}
+ , destroy: function () {
+ this.$element.off().removeData('popover')
+ }
+
})
diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index f5f9fad3f..f280e3696 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -235,6 +235,10 @@
this[this.tip().hasClass('in') ? 'hide' : 'show']()
}
+ , destroy: function () {
+ this.$element.off().removeData('tooltip')
+ }
+
}
diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js
index afd6b170b..6d5d9f7a1 100644
--- a/js/tests/unit/bootstrap-popover.js
+++ b/js/tests/unit/bootstrap-popover.js
@@ -90,4 +90,14 @@ $(function () {
ok(!$('.popover').length, 'popover was removed')
$('#qunit-fixture').empty()
})
+
+ test("should destroy popover", function () {
+ var popover = $('').popover()
+ ok(popover.data('popover'), 'popover has data')
+ ok(popover.data('events').mouseover && popover.data('events').mouseout, 'popover has hover event')
+ popover.popover('destroy')
+ ok(!popover.data('popover'), 'popover does not have data')
+ ok(!popover.data('events'), 'popover does not have any events')
+ })
+
})
\ No newline at end of file
diff --git a/js/tests/unit/bootstrap-tooltip.js b/js/tests/unit/bootstrap-tooltip.js
index 51e03486e..7852305c1 100644
--- a/js/tests/unit/bootstrap-tooltip.js
+++ b/js/tests/unit/bootstrap-tooltip.js
@@ -128,4 +128,13 @@ $(function () {
}, 200)
})
+ test("should destroy tooltip", function () {
+ var tooltip = $('').tooltip()
+ ok(tooltip.data('tooltip'), 'tooltip has data')
+ ok(tooltip.data('events').mouseover && tooltip.data('events').mouseout, 'tooltip has hover event')
+ tooltip.tooltip('destroy')
+ ok(!tooltip.data('tooltip'), 'tooltip does not have data')
+ ok(!tooltip.data('events'), 'tooltip does not have any events')
+ })
+
})