diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index 326f2b2e7..062e02863 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -780,7 +780,7 @@ $('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}}
+{{_i}}Hides and destroys an element's tooltip.{{/i}}
$('#element').tooltip('destroy')
@@ -935,7 +935,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}}
+{{_i}}Hides and destroys an element's popover.{{/i}}
$('#element').popover('destroy')
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index fe22ecb47..2e6d9c32a 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -72,7 +72,7 @@
}
, destroy: function () {
- this.$element.off().removeData('popover')
+ this.hide().$element.off('.' + this.type).removeData(this.type)
}
})
diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index f280e3696..f9447410e 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -47,8 +47,8 @@
if (this.options.trigger != 'manual') {
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
- this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
- this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
}
this.options.selector ?
@@ -176,6 +176,8 @@
$.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() :
$tip.remove()
+
+ return this
}
, fixTitle: function () {
@@ -236,7 +238,7 @@
}
, destroy: function () {
- this.$element.off().removeData('tooltip')
+ this.hide().$element.off('.' + this.type).removeData(this.type)
}
}
diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js
index 6d5d9f7a1..daffe215c 100644
--- a/js/tests/unit/bootstrap-popover.js
+++ b/js/tests/unit/bootstrap-popover.js
@@ -92,12 +92,16 @@ $(function () {
})
test("should destroy popover", function () {
- var popover = $('').popover()
+ var popover = $('').popover().on('click.foo', function(){})
ok(popover.data('popover'), 'popover has data')
ok(popover.data('events').mouseover && popover.data('events').mouseout, 'popover has hover event')
+ ok(popover.data('events').click[0].namespace == 'foo', 'popover has extra click.foo event')
+ popover.popover('show')
popover.popover('destroy')
+ ok(!popover.hasClass('in'), 'popover is hidden')
ok(!popover.data('popover'), 'popover does not have data')
- ok(!popover.data('events'), 'popover does not have any events')
+ ok(popover.data('events').click[0].namespace == 'foo', 'popover still has click.foo')
+ ok(!popover.data('events').mouseover && !popover.data('events').mouseout, '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 7852305c1..2eb8c8f7c 100644
--- a/js/tests/unit/bootstrap-tooltip.js
+++ b/js/tests/unit/bootstrap-tooltip.js
@@ -129,12 +129,16 @@ $(function () {
})
test("should destroy tooltip", function () {
- var tooltip = $('').tooltip()
+ var tooltip = $('').tooltip().on('click.foo', function(){})
ok(tooltip.data('tooltip'), 'tooltip has data')
ok(tooltip.data('events').mouseover && tooltip.data('events').mouseout, 'tooltip has hover event')
+ ok(tooltip.data('events').click[0].namespace == 'foo', 'tooltip has extra click.foo event')
+ tooltip.tooltip('show')
tooltip.tooltip('destroy')
+ ok(!tooltip.hasClass('in'), 'tooltip is hidden')
ok(!tooltip.data('tooltip'), 'tooltip does not have data')
- ok(!tooltip.data('events'), 'tooltip does not have any events')
+ ok(tooltip.data('events').click[0].namespace == 'foo', 'tooltip still has click.foo')
+ ok(!tooltip.data('events').mouseover && !tooltip.data('events').mouseout, 'tooltip does not have any events')
})
})
diff --git a/less/dropdowns.less b/less/dropdowns.less
index 1e4f33ff6..5f62d27f0 100644
--- a/less/dropdowns.less
+++ b/less/dropdowns.less
@@ -60,8 +60,8 @@
margin: 1px 0 0; // override default ul
list-style: none;
background-color: @dropdownBackground;
- border: 1px solid #ccc;
- border: 1px solid rgba(0,0,0,.2);
+ border: 1px solid #ccc; // Fallback for IE7-8
+ border: 1px solid @dropdownBorder;
*border-right-width: 2px;
*border-bottom-width: 2px;
.border-radius(6px);