diff options
| author | Mark Otto <[email protected]> | 2017-07-04 11:53:55 -0700 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2017-07-04 11:53:55 -0700 |
| commit | a662f85398ffe67453c773ec94a94e2607cb4a36 (patch) | |
| tree | 2ff9a1b3e3513e5d7f2dc7760324b6752b0a425c /js | |
| parent | d785e8a53a8b8783fc0b8c18cb56cea89b6d4396 (diff) | |
| parent | 2cbaefc2442e2ca3cb25dcea4dd047a25ce7790c (diff) | |
| download | bootstrap-a662f85398ffe67453c773ec94a94e2607cb4a36.tar.xz bootstrap-a662f85398ffe67453c773ec94a94e2607cb4a36.zip | |
Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev
Diffstat (limited to 'js')
| -rw-r--r-- | js/src/dropdown.js | 10 | ||||
| -rw-r--r-- | js/tests/unit/dropdown.js | 29 |
2 files changed, 32 insertions, 7 deletions
diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 057cfa433..234d23447 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -265,14 +265,10 @@ const Dropdown = (($) => { } } + // Disable Popper.js for Dropdown in Navbar if (this._inNavbar) { - popperConfig.modifiers.AfterApplyStyle = { - enabled: true, - order: 901, // ApplyStyle order + 1 - fn: () => { - // reset Popper styles - $(this._menu).attr('style', '') - } + popperConfig.modifiers.applyStyle = { + enabled: !this._inNavbar } } return popperConfig diff --git a/js/tests/unit/dropdown.js b/js/tests/unit/dropdown.js index 7e96745ab..e44e47bbc 100644 --- a/js/tests/unit/dropdown.js +++ b/js/tests/unit/dropdown.js @@ -620,4 +620,33 @@ $(function () { }) $dropdown.trigger('click') }) + + QUnit.test('Dropdown should not use Popper.js in navbar', function (assert) { + assert.expect(1) + var done = assert.async() + var html = '<nav class="navbar navbar-expand-md navbar-light bg-light">' + + '<div class="dropdown">' + + ' <a class="nav-link dropdown-toggle" href="#" id="dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>' + + ' <div class="dropdown-menu" aria-labelledby="dropdown">' + + ' <a class="dropdown-item" href="#">Action</a>' + + ' <a class="dropdown-item" href="#">Another action</a>' + + ' <a class="dropdown-item" href="#">Something else here</a>' + + ' </div>' + + '</div>' + + '</nav>' + + $(html).appendTo('#qunit-fixture') + var $triggerDropdown = $('#qunit-fixture') + .find('[data-toggle="dropdown"]') + .bootstrapDropdown() + var $dropdownMenu = $triggerDropdown.next() + + $triggerDropdown + .parent('.dropdown') + .on('shown.bs.dropdown', function () { + assert.ok($dropdownMenu.attr('style') === undefined, 'No inline style applied by Popper.js') + done() + }) + $triggerDropdown.trigger($.Event('click')) + }) }) |
