mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-14 18:42:30 +03:00
patch dropdowns for #7118
This commit is contained in:
Vendored
+9
@@ -3009,6 +3009,15 @@ table th[class*="span"],
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown-backdrop {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 990;
|
||||||
|
}
|
||||||
|
|
||||||
.pull-right > .dropdown-menu {
|
.pull-right > .dropdown-menu {
|
||||||
right: 0;
|
right: 0;
|
||||||
left: auto;
|
left: auto;
|
||||||
|
|||||||
Vendored
+5
-1
@@ -52,6 +52,10 @@
|
|||||||
clearMenus()
|
clearMenus()
|
||||||
|
|
||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
|
if ('ontouchstart' in document.documentElement) {
|
||||||
|
// if mobile we we use a backdrop because click events don't delegate
|
||||||
|
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
|
||||||
|
}
|
||||||
$parent.toggleClass('open')
|
$parent.toggleClass('open')
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,6 +108,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function clearMenus() {
|
function clearMenus() {
|
||||||
|
$('.dropdown-backdrop').remove()
|
||||||
$(toggle).each(function () {
|
$(toggle).each(function () {
|
||||||
getParent($(this)).removeClass('open')
|
getParent($(this)).removeClass('open')
|
||||||
})
|
})
|
||||||
@@ -158,7 +163,6 @@
|
|||||||
$(document)
|
$(document)
|
||||||
.on('click.dropdown.data-api', clearMenus)
|
.on('click.dropdown.data-api', clearMenus)
|
||||||
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||||
.on('click.dropdown-menu', function (e) { e.stopPropagation() })
|
|
||||||
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||||
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||||
|
|
||||||
|
|||||||
Vendored
+5
-1
@@ -685,6 +685,10 @@
|
|||||||
clearMenus()
|
clearMenus()
|
||||||
|
|
||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
|
if ('ontouchstart' in document.documentElement) {
|
||||||
|
// if mobile we we use a backdrop because click events don't delegate
|
||||||
|
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
|
||||||
|
}
|
||||||
$parent.toggleClass('open')
|
$parent.toggleClass('open')
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -737,6 +741,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function clearMenus() {
|
function clearMenus() {
|
||||||
|
$('.dropdown-backdrop').remove()
|
||||||
$(toggle).each(function () {
|
$(toggle).each(function () {
|
||||||
getParent($(this)).removeClass('open')
|
getParent($(this)).removeClass('open')
|
||||||
})
|
})
|
||||||
@@ -791,7 +796,6 @@
|
|||||||
$(document)
|
$(document)
|
||||||
.on('click.dropdown.data-api', clearMenus)
|
.on('click.dropdown.data-api', clearMenus)
|
||||||
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||||
.on('click.dropdown-menu', function (e) { e.stopPropagation() })
|
|
||||||
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||||
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+5
-1
@@ -52,6 +52,10 @@
|
|||||||
clearMenus()
|
clearMenus()
|
||||||
|
|
||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
|
if ('ontouchstart' in document.documentElement) {
|
||||||
|
// if mobile we we use a backdrop because click events don't delegate
|
||||||
|
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
|
||||||
|
}
|
||||||
$parent.toggleClass('open')
|
$parent.toggleClass('open')
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,6 +108,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function clearMenus() {
|
function clearMenus() {
|
||||||
|
$('.dropdown-backdrop').remove()
|
||||||
$(toggle).each(function () {
|
$(toggle).each(function () {
|
||||||
getParent($(this)).removeClass('open')
|
getParent($(this)).removeClass('open')
|
||||||
})
|
})
|
||||||
@@ -158,7 +163,6 @@
|
|||||||
$(document)
|
$(document)
|
||||||
.on('click.dropdown.data-api', clearMenus)
|
.on('click.dropdown.data-api', clearMenus)
|
||||||
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||||
.on('click.dropdown-menu', function (e) { e.stopPropagation() })
|
|
||||||
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||||
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||||
|
|
||||||
|
|||||||
@@ -135,6 +135,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Backdrop to catch body clicks on mobile, etc.
|
||||||
|
// ---------------------------
|
||||||
|
.dropdown-backdrop {
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
top: 0;
|
||||||
|
z-index: @zindexDropdown - 10;
|
||||||
|
}
|
||||||
|
|
||||||
// Right aligned dropdowns
|
// Right aligned dropdowns
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
.pull-right > .dropdown-menu {
|
.pull-right > .dropdown-menu {
|
||||||
|
|||||||
Reference in New Issue
Block a user