mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-14 18:42:30 +03:00
Add missing things in hide method of dropdown
This commit is contained in:
+8
-2
@@ -202,11 +202,18 @@ class Dropdown {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If this is a touch-enabled device we remove the extra
|
||||||
|
// empty mouseover listeners we added for iOS support
|
||||||
|
if ('ontouchstart' in document.documentElement) {
|
||||||
|
$(document.body).children().off('mouseover', null, $.noop)
|
||||||
|
}
|
||||||
|
|
||||||
if (this._popper) {
|
if (this._popper) {
|
||||||
this._popper.destroy()
|
this._popper.destroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
$(this._menu).toggleClass(CLASS_NAME_SHOW)
|
$(this._menu).toggleClass(CLASS_NAME_SHOW)
|
||||||
|
this._element.setAttribute('aria-expanded', false)
|
||||||
$(parent)
|
$(parent)
|
||||||
.toggleClass(CLASS_NAME_SHOW)
|
.toggleClass(CLASS_NAME_SHOW)
|
||||||
.trigger($.Event(EVENT_HIDDEN, relatedTarget))
|
.trigger($.Event(EVENT_HIDDEN, relatedTarget))
|
||||||
@@ -404,13 +411,12 @@ class Dropdown {
|
|||||||
$(document.body).children().off('mouseover', null, $.noop)
|
$(document.body).children().off('mouseover', null, $.noop)
|
||||||
}
|
}
|
||||||
|
|
||||||
toggles[i].setAttribute('aria-expanded', 'false')
|
|
||||||
|
|
||||||
if (context._popper) {
|
if (context._popper) {
|
||||||
context._popper.destroy()
|
context._popper.destroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
$(dropdownMenu).removeClass(CLASS_NAME_SHOW)
|
$(dropdownMenu).removeClass(CLASS_NAME_SHOW)
|
||||||
|
toggles[i].setAttribute('aria-expanded', 'false')
|
||||||
$(parent)
|
$(parent)
|
||||||
.removeClass(CLASS_NAME_SHOW)
|
.removeClass(CLASS_NAME_SHOW)
|
||||||
.trigger($.Event(EVENT_HIDDEN, relatedTarget))
|
.trigger($.Event(EVENT_HIDDEN, relatedTarget))
|
||||||
|
|||||||
@@ -1585,12 +1585,12 @@ $(function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
QUnit.test('should hide a dropdown and destroy popper', function (assert) {
|
QUnit.test('should hide a dropdown and destroy popper', function (assert) {
|
||||||
assert.expect(1)
|
assert.expect(2)
|
||||||
var done = assert.async()
|
var done = assert.async()
|
||||||
|
|
||||||
var fixtureHtml = [
|
var fixtureHtml = [
|
||||||
'<div class="dropdown">',
|
'<div class="dropdown">',
|
||||||
' <button href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>',
|
' <button href="#" class="btn dropdown-toggle" data-toggle="dropdown" aria-expanded="true">Dropdown</button>',
|
||||||
' <div class="dropdown-menu">',
|
' <div class="dropdown-menu">',
|
||||||
' <a class="dropdown-item" href="#">Secondary link</a>',
|
' <a class="dropdown-item" href="#">Secondary link</a>',
|
||||||
' </div>',
|
' </div>',
|
||||||
@@ -1600,9 +1600,8 @@ $(function () {
|
|||||||
$(fixtureHtml).appendTo('#qunit-fixture')
|
$(fixtureHtml).appendTo('#qunit-fixture')
|
||||||
|
|
||||||
var $dropdownEl = $('.dropdown')
|
var $dropdownEl = $('.dropdown')
|
||||||
var dropdown = $('[data-toggle="dropdown"]')
|
var $btnDropdown = $('[data-toggle="dropdown"]').bootstrapDropdown()
|
||||||
.bootstrapDropdown()
|
var dropdown = $btnDropdown.data('bs.dropdown')
|
||||||
.data('bs.dropdown')
|
|
||||||
var spyPopper
|
var spyPopper
|
||||||
|
|
||||||
$dropdownEl.one('shown.bs.dropdown', function () {
|
$dropdownEl.one('shown.bs.dropdown', function () {
|
||||||
@@ -1612,6 +1611,7 @@ $(function () {
|
|||||||
|
|
||||||
$dropdownEl.one('hidden.bs.dropdown', function () {
|
$dropdownEl.one('hidden.bs.dropdown', function () {
|
||||||
assert.true(spyPopper.called)
|
assert.true(spyPopper.called)
|
||||||
|
assert.strictEqual($btnDropdown.attr('aria-expanded'), 'false', 'aria-expanded is set to string "false" on hide')
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user