diff --git a/js/src/dropdown.js b/js/src/dropdown.js
index b1487b64ad..fbbaa08fa0 100644
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -479,7 +479,7 @@ class Dropdown {
EventHandler.trigger(SelectorEngine.findOne(Selector.DATA_TOGGLE, parent), 'focus')
}
- EventHandler.trigger(this, 'click')
+ Dropdown._clearMenus()
return
}
diff --git a/js/tests/unit/carousel.js b/js/tests/unit/carousel.js
index 6533454a69..9016f61abb 100644
--- a/js/tests/unit/carousel.js
+++ b/js/tests/unit/carousel.js
@@ -676,7 +676,7 @@ $(function () {
$template.bootstrapCarousel()
var done = assert.async()
- function handlerKeydown() {
+ function handlerKeydown(event) {
assert.strictEqual(event.defaultPrevented, false)
$template[0].removeEventListener('keydown', handlerKeydown)
}
@@ -687,7 +687,7 @@ $(function () {
keyDown.which = 40
$template[0].dispatchEvent(keyDown)
- function handlerKeydown2() {
+ function handlerKeydown2(event) {
assert.strictEqual(event.defaultPrevented, false)
$template[0].addEventListener('keydown', handlerKeydown2)
done()
diff --git a/js/tests/unit/collapse.js b/js/tests/unit/collapse.js
index bb11645b2b..c59af20624 100644
--- a/js/tests/unit/collapse.js
+++ b/js/tests/unit/collapse.js
@@ -73,7 +73,7 @@ $(function () {
assert.ok(!/height/i.test($el2.attr('style')), 'has height reset')
done()
})
- $target[0].dispatchEvent(new Event('click'))
+ $target[0].click()
})
QUnit.test('should collapse only the first collapse', function (assert) {
@@ -760,11 +760,11 @@ $(function () {
assert.ok($trigger3.hasClass('collapsed'), 'trigger3 has collapsed class')
done()
})
- $trigger1[0].dispatchEvent(new Event('click'))
+ $trigger1[0].click()
})
- $trigger2[0].dispatchEvent(new Event('click'))
+ $trigger2[0].click()
})
- $trigger3[0].dispatchEvent(new Event('click'))
+ $trigger3[0].click()
})
QUnit.test('should set aria-expanded="true" to triggers targeting shown collaspe and aria-expanded="false" only when all the targeted collapses are shown', function (assert) {
@@ -792,11 +792,11 @@ $(function () {
assert.strictEqual($trigger3.attr('aria-expanded'), 'false', 'aria-expanded on trigger3 is "false"')
done()
})
- $trigger1[0].dispatchEvent(new Event('click'))
+ $trigger1[0].click()
})
- $trigger2[0].dispatchEvent(new Event('click'))
+ $trigger2[0].click()
})
- $trigger3[0].dispatchEvent(new Event('click'))
+ $trigger3[0].click()
})
QUnit.test('should not prevent interactions inside the collapse element', function (assert) {
diff --git a/js/tests/unit/dropdown.js b/js/tests/unit/dropdown.js
index 44fe761ad8..a9a5773e61 100644
--- a/js/tests/unit/dropdown.js
+++ b/js/tests/unit/dropdown.js
@@ -663,6 +663,8 @@ $(function () {
$dropdown[0].dispatchEvent(keydown40)
assert.ok($(document.activeElement).is($('#item1')), 'item1 is focused')
+ keydown40 = new Event('keydown')
+ keydown40.which = 40
document.activeElement.dispatchEvent(keydown40)
assert.ok($(document.activeElement).is($('#item2')), 'item2 is focused')
@@ -899,11 +901,15 @@ $(function () {
assert.ok(document.activeElement === $('#item1')[0], 'item1 is focused')
done()
- }).bootstrapDropdown('toggle')
- $input[0].dispatchEvent(new Event('click'))
+ })
+ .bootstrapDropdown('toggle')
+
+ $input.bootstrapDropdown('toggle')
})
- $input[0].dispatchEvent(new Event('click'))
+
+ $input.bootstrapDropdown('toggle')
})
+
$input[0].dispatchEvent(new Event('click'))
})
@@ -973,10 +979,13 @@ $(function () {
assert.ok(document.activeElement === $('#item1')[0], 'item1 is focused')
done()
- }).bootstrapDropdown('toggle')
- $textarea[0].dispatchEvent(new Event('click'))
+ })
+ .bootstrapDropdown('toggle')
+
+ $textarea.bootstrapDropdown('toggle')
})
- $textarea[0].dispatchEvent(new Event('click'))
+
+ $textarea.bootstrapDropdown('toggle')
})
$textarea[0].dispatchEvent(new Event('click'))
})
diff --git a/js/tests/visual/dropdown.html b/js/tests/visual/dropdown.html
index 2fbfd50dd5..fe1ca333e1 100644
--- a/js/tests/visual/dropdown.html
+++ b/js/tests/visual/dropdown.html
@@ -211,6 +211,7 @@
+