0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-01 13:24:25 +01:00

Merge pull request #15466 from twbs/revert-14189

Revert #14189 to fix #15168
This commit is contained in:
Chris Rebert 2014-12-29 20:43:13 -08:00
commit b0437f8ea9
4 changed files with 8 additions and 81 deletions

View File

@ -86,18 +86,12 @@
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.popover')
var options = typeof option == 'object' && option
var selector = options && options.selector
var $this = $(this)
var data = $this.data('bs.popover')
var options = typeof option == 'object' && option
if (!data && option == 'destroy') return
if (selector) {
if (!data) $this.data('bs.popover', (data = {}))
if (!data[selector]) data[selector] = new Popover(this, options)
} else {
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
}
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
if (typeof option == 'string') data[option]()
})
}

View File

@ -188,36 +188,6 @@ $(function () {
equal($('.popover').length, 0, 'popover was removed')
})
test('should render popover elements using different delegated selectors on the same node', function () {
var popoverHTML = '<div>'
+ '<a href="#" class="first" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>'
+ '<a href="#" class="second" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>'
+ '</div>'
var $div = $(popoverHTML)
.appendTo('#qunit-fixture')
.bootstrapPopover({
selector: 'a.first',
trigger: 'click'
})
.bootstrapPopover({
selector: 'a.second',
trigger: 'click'
})
$div.find('a.first').click()
notEqual($('.popover').length, 0, 'first popover was inserted')
$div.find('a.first').click()
equal($('.popover').length, 0, 'first popover removed')
$div.find('a.second').click()
notEqual($('.popover').length, 0, 'second popover was inserted')
$div.find('a.second').click()
equal($('.popover').length, 0, 'second popover removed')
})
test('should detach popover content rather than removing it so that event handlers are left intact', function () {
var $content = $('<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>').appendTo('#qunit-fixture')

View File

@ -235,37 +235,6 @@ $(function () {
equal($('.tooltip').length, 0, 'tooltip was removed from dom')
})
test('should show tooltips with different delegate selectors on the same node on click', function () {
var tooltipHTML = '<div>'
+ '<a href="#" class="first" rel="tooltip" title="First delegated tooltip"/>'
+ '<a href="#" class="second" rel="tooltip" title="Second delegated tooltip"/>'
+ '</div>'
var $div = $(tooltipHTML)
.append()
.appendTo('#qunit-fixture')
.bootstrapTooltip({
selector: 'a.first[rel="tooltip"]',
trigger: 'click'
})
.bootstrapTooltip({
selector: 'a.second[rel="tooltip"]',
trigger: 'click'
})
$div.find('a.first').click()
ok($('.tooltip').is('.fade.in'), 'first tooltip is faded in')
$div.find('a.first').click()
equal($('.tooltip').length, 0, 'first tooltip was removed from dom')
$div.find('a.second').click()
ok($('.tooltip').is('.fade.in'), 'second tooltip is faded in')
$div.find('a.second').click()
equal($('.tooltip').length, 0, 'second tooltip was removed from dom')
})
test('should show tooltip when toggle is called', function () {
$('<a href="#" rel="tooltip" title="tooltip on toggle"/>')
.appendTo('#qunit-fixture')

View File

@ -445,18 +445,12 @@
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option
var selector = options && options.selector
var $this = $(this)
var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option
if (!data && option == 'destroy') return
if (selector) {
if (!data) $this.data('bs.tooltip', (data = {}))
if (!data[selector]) data[selector] = new Tooltip(this, options)
} else {
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
}
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
if (typeof option == 'string') data[option]()
})
}