diff options
author | Chris Rebert <code@rebertia.com> | 2014-12-30 07:03:27 +0300 |
---|---|---|
committer | Chris Rebert <code@rebertia.com> | 2014-12-30 07:08:22 +0300 |
commit | adaabab81bcc7da1c832ecdab79db9d87f04e5b2 (patch) | |
tree | b92176c66f2b2bccbb1a8a7a32204fefe67a5e0d | |
parent | 32cb0715949e5ab20716121234d858e51f3ff386 (diff) |
Revert "Allow multiple delegated tooltip selectors on a node"
This reverts commit 1b3237629a316af41945e20837cf3a332798b264.
This reverts PR #14189 because it caused major regressions.
Fixes #15168.
We'll try to revisit #14167's feature request in Bootstrap v4.
[skip validator]
-rw-r--r-- | js/popover.js | 14 | ||||
-rw-r--r-- | js/tests/unit/popover.js | 30 | ||||
-rw-r--r-- | js/tests/unit/tooltip.js | 31 | ||||
-rw-r--r-- | js/tooltip.js | 14 |
4 files changed, 8 insertions, 81 deletions
diff --git a/js/popover.js b/js/popover.js index db272bdee4..3a0bab38ba 100644 --- a/js/popover.js +++ b/js/popover.js @@ -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]() }) } diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js index 13ba93862e..e1a2edef71 100644 --- a/js/tests/unit/popover.js +++ b/js/tests/unit/popover.js @@ -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') diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js index eb578c22af..2264ca3727 100644 --- a/js/tests/unit/tooltip.js +++ b/js/tests/unit/tooltip.js @@ -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') diff --git a/js/tooltip.js b/js/tooltip.js index cda147d9c7..a3bed9856d 100644 --- a/js/tooltip.js +++ b/js/tooltip.js @@ -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]() }) } |