aboutsummaryrefslogtreecommitdiff
path: root/js/bootstrap-dropdown.js
diff options
context:
space:
mode:
authorJacob Thornton <[email protected]>2011-11-20 20:58:04 -0800
committerJacob Thornton <[email protected]>2011-11-20 20:58:04 -0800
commitbc65b58551575c9dfb2e4d9f4f7af97009e39432 (patch)
treecb27a6f15bfdd7650871f6f6aa5aba496201bd29 /js/bootstrap-dropdown.js
parent0b1d5d9189ea82cde5e848e5a8771a8f4850e21f (diff)
downloadbootstrap-bc65b58551575c9dfb2e4d9f4f7af97009e39432.tar.xz
bootstrap-bc65b58551575c9dfb2e4d9f4f7af97009e39432.zip
merge in js from 1.4... start working through js docs
Diffstat (limited to 'js/bootstrap-dropdown.js')
-rw-r--r--js/bootstrap-dropdown.js43
1 files changed, 27 insertions, 16 deletions
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index cab0ec27e..bb7d11b1f 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -1,5 +1,5 @@
/* ============================================================
- * bootstrap-dropdown.js v1.4.0
+ * bootstrap-dropdown.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#dropdown
* ============================================================
* Copyright 2011 Twitter, Inc.
@@ -22,34 +22,45 @@
"use strict"
+ /* SIMPLE DROPDOWN LOGIC
+ * ===================== */
+
+ var s = '[data-toggle="dropdown"]'
+
+ function clearMenus() {
+ $(s).parent('li').removeClass('open')
+ }
+
+ function toggle(e) {
+ var li = $(this).parent('li')
+ , isActive = li.hasClass('open')
+
+ clearMenus()
+ !isActive && li.toggleClass('open')
+
+ return false
+ }
+
+
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
$.fn.dropdown = function ( selector ) {
return this.each(function () {
- $(this).delegate(selector || d, 'click', function (e) {
- var li = $(this).parent('li')
- , isActive = li.hasClass('open')
-
- clearMenus()
- !isActive && li.toggleClass('open')
- return false
- })
+ var args = ['click', toggle]
+ , $this = $(this)
+ selector && args.unshift(selector)
+ $this[selector ? 'delegate' : 'bind'].apply($this, args)
})
}
+
/* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */
- var d = 'a.menu, .dropdown-toggle'
-
- function clearMenus() {
- $(d).parent('li').removeClass('open')
- }
-
$(function () {
$('html').bind("click", clearMenus)
- $('body').dropdown( '[data-dropdown] a.menu, [data-dropdown] .dropdown-toggle' )
+ $('body').dropdown(s)
})
}( window.jQuery || window.ender ); \ No newline at end of file