vendor/assets/javascripts/twitter/bootstrap/dropdown.js in less-rails-bootstrap-2.3.2 vs vendor/assets/javascripts/twitter/bootstrap/dropdown.js in less-rails-bootstrap-2.3.3
- old
+ new
@@ -1,7 +1,7 @@
/* ============================================================
- * bootstrap-dropdown.js v2.3.1
+ * bootstrap-dropdown.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -50,10 +50,14 @@
isActive = $parent.hasClass('open')
clearMenus()
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')
}
$this.focus()
@@ -102,10 +106,11 @@
}
}
function clearMenus() {
+ $('.dropdown-backdrop').remove()
$(toggle).each(function () {
getParent($(this)).removeClass('open')
})
}
@@ -156,10 +161,9 @@
* =================================== */
$(document)
.on('click.dropdown.data-api', clearMenus)
.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('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
}(window.jQuery);