diff options
| author | Jacob Thornton <[email protected]> | 2011-11-20 20:58:04 -0800 |
|---|---|---|
| committer | Jacob Thornton <[email protected]> | 2011-11-20 20:58:04 -0800 |
| commit | bc65b58551575c9dfb2e4d9f4f7af97009e39432 (patch) | |
| tree | cb27a6f15bfdd7650871f6f6aa5aba496201bd29 /js/bootstrap-dropdown.js | |
| parent | 0b1d5d9189ea82cde5e848e5a8771a8f4850e21f (diff) | |
| download | bootstrap-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.js | 43 |
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 |
