Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bootstrap
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bootstrap
Commits
ef1ce9ac
Commit
ef1ce9ac
authored
Jul 22, 2015
by
Johann-S
Committed by
Chris Rebert
Jul 27, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix triggering of {shown,hidden}.bs.dropdown events so relatedTarget gets set properly
Fixes #16828 Closes #16865
parent
94339247
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
2 deletions
+34
-2
js/dropdown.js
js/dropdown.js
+2
-2
js/tests/unit/dropdown.js
js/tests/unit/dropdown.js
+32
-0
No files found.
js/dropdown.js
View file @
ef1ce9ac
...
...
@@ -51,7 +51,7 @@
if
(
e
.
isDefaultPrevented
())
return
$this
.
attr
(
'
aria-expanded
'
,
'
false
'
)
$parent
.
removeClass
(
'
open
'
).
trigger
(
'
hidden.bs.dropdown
'
,
relatedTarget
)
$parent
.
removeClass
(
'
open
'
).
trigger
(
$
.
Event
(
'
hidden.bs.dropdown
'
,
relatedTarget
)
)
})
}
...
...
@@ -85,7 +85,7 @@
$parent
.
toggleClass
(
'
open
'
)
.
trigger
(
'
shown.bs.dropdown
'
,
relatedTarget
)
.
trigger
(
$
.
Event
(
'
shown.bs.dropdown
'
,
relatedTarget
)
)
}
return
false
...
...
js/tests/unit/dropdown.js
View file @
ef1ce9ac
...
...
@@ -286,6 +286,38 @@ $(function () {
$
(
document
.
body
).
trigger
(
'
click
'
)
})
QUnit
.
test
(
'
should fire shown and hidden event with a relatedTarget
'
,
function
(
assert
)
{
assert
.
expect
(
2
)
var
dropdownHTML
=
'
<ul class="tabs">
'
+
'
<li class="dropdown">
'
+
'
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
'
+
'
<ul class="dropdown-menu">
'
+
'
<li><a href="#">Secondary link</a></li>
'
+
'
<li><a href="#">Something else here</a></li>
'
+
'
<li class="divider"/>
'
+
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
var
$dropdown
=
$
(
dropdownHTML
)
.
appendTo
(
'
#qunit-fixture
'
)
.
find
(
'
[data-toggle="dropdown"]
'
)
.
bootstrapDropdown
()
var
done
=
assert
.
async
()
$dropdown
.
parent
(
'
.dropdown
'
)
.
on
(
'
hidden.bs.dropdown
'
,
function
(
e
)
{
assert
.
strictEqual
(
e
.
relatedTarget
,
$dropdown
[
0
])
done
()
})
.
on
(
'
shown.bs.dropdown
'
,
function
(
e
)
{
assert
.
strictEqual
(
e
.
relatedTarget
,
$dropdown
[
0
])
$
(
document
.
body
).
trigger
(
'
click
'
)
})
$dropdown
.
trigger
(
'
click
'
)
})
QUnit
.
test
(
'
should ignore keyboard events within <input>s and <textarea>s
'
,
function
(
assert
)
{
assert
.
expect
(
3
)
var
done
=
assert
.
async
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment