Merge pull request #3880 from lookfirst/popover-destroy

Add popover / tooltip destroy method
This commit is contained in:
Jacob Thornton 2012-06-20 12:02:05 -07:00
commit 1e717991e8
5 changed files with 34 additions and 1 deletions

View File

@ -755,6 +755,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<h4>.tooltip('toggle')</h4>
<p>{{_i}}Toggles an element's tooltip.{{/i}}</p>
<pre class="prettyprint linenums">$('#element').tooltip('toggle')</pre>
<h4>.tooltip('destroy')</h4>
<p>{{_i}}Destroys an element's tooltip.{{/i}}</p>
<pre class="prettyprint linenums">$('#element').tooltip('destroy')</pre>
</section>
@ -821,7 +824,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<td>{{_i}}trigger{{/i}}</td>
<td>{{_i}}string{{/i}}</td>
<td>'hover'</td>
<td>{{_i}}how tooltip is triggered{{/i}} - hover | focus | manual</td>
<td>{{_i}}how popover is triggered{{/i}} - hover | focus | manual</td>
</tr>
<tr>
<td>{{_i}}title{{/i}}</td>
@ -867,6 +870,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<h4>.popover('toggle')</h4>
<p>{{_i}}Toggles an elements popover.{{/i}}</p>
<pre class="prettyprint linenums">$('#element').popover('toggle')</pre>
<h4>.popover('destroy')</h4>
<p>{{_i}}Destroys an element's popover.{{/i}}</p>
<pre class="prettyprint linenums">$('#element').popover('destroy')</pre>
</section>

View File

@ -71,6 +71,10 @@
return this.$tip
}
, destroy: function () {
this.$element.off().removeData('popover')
}
})

View File

@ -235,6 +235,10 @@
this[this.tip().hasClass('in') ? 'hide' : 'show']()
}
, destroy: function () {
this.$element.off().removeData('tooltip')
}
}

View File

@ -90,4 +90,14 @@ $(function () {
ok(!$('.popover').length, 'popover was removed')
$('#qunit-fixture').empty()
})
test("should destroy popover", function () {
var popover = $('<div/>').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')
})
})

View File

@ -128,4 +128,13 @@ $(function () {
}, 200)
})
test("should destroy tooltip", function () {
var tooltip = $('<div/>').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')
})
})