From ec8619a9808b9b6e721334af8e6b5248ccbea8b5 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sat, 17 Sep 2011 17:21:43 -0700 Subject: update docs to remove old stuff, update to all new classes; no more backwards compatibility --- js/bootstrap-dropdown.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index ca2daf1f5..75320c0f8 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -20,7 +20,7 @@ (function( $ ){ - var d = 'a.menu, .dropdown-toggle' + var d = '.dropdown-toggle' function clearMenus() { $(d).parent('li').removeClass('open') @@ -28,7 +28,7 @@ $(function () { $('html').bind("click", clearMenus) - $('body').dropdown( '[data-dropdown] a.menu, [data-dropdown] .dropdown-toggle' ) + $('body').dropdown( '[data-dropdown] .dropdown-toggle' ) }) /* DROPDOWN PLUGIN DEFINITION -- cgit v1.2.3 From a91a407bd60a266f928b5fea70d3c4332394b3c8 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Tue, 4 Oct 2011 21:48:53 -0700 Subject: start updating to data- driven js --- js/bootstrap-dropdown.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 75320c0f8..6379653c5 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -20,23 +20,14 @@ (function( $ ){ - var d = '.dropdown-toggle' - - function clearMenus() { - $(d).parent('li').removeClass('open') - } - - $(function () { - $('html').bind("click", clearMenus) - $('body').dropdown( '[data-dropdown] .dropdown-toggle' ) - }) + var d = '[data-dropdown]' /* DROPDOWN PLUGIN DEFINITION * ========================== */ - $.fn.dropdown = function ( selector ) { + $.fn.dropdown = function () { return this.each(function () { - $(this).delegate(selector || d, 'click', function (e) { + $(this).delegate(d, 'click', function (e) { var li = $(this).parent('li') , isActive = li.hasClass('open') @@ -47,4 +38,16 @@ }) } + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + function clearMenus() { + $(d).parent('li').removeClass('open') + } + + $(function () { + $('html').bind("click", clearMenus) + $('body').dropdown() + }) + })( window.jQuery || window.ender ) \ No newline at end of file -- cgit v1.2.3 From 8545fe97877dc275df40ab98d408f21ce9a362cf Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Wed, 19 Oct 2011 21:56:06 -0700 Subject: greatly simply js plugins - remove js api where reasonable --- js/bootstrap-dropdown.js | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 6379653c5..6d9430b39 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -20,34 +20,22 @@ (function( $ ){ - var d = '[data-dropdown]' - - /* DROPDOWN PLUGIN DEFINITION - * ========================== */ - - $.fn.dropdown = function () { - return this.each(function () { - $(this).delegate(d, 'click', function (e) { - var li = $(this).parent('li') - , isActive = li.hasClass('open') - - clearMenus() - !isActive && li.toggleClass('open') - return false - }) - }) - } - /* APPLY TO STANDARD DROPDOWN ELEMENTS * =================================== */ function clearMenus() { - $(d).parent('li').removeClass('open') + $(selector).parent('li').removeClass('open') } $(function () { $('html').bind("click", clearMenus) - $('body').dropdown() + $('body').delegate('[data-dropdown]', 'click', function (e) { + var li = $(this).parent('li') + , isActive = li.hasClass('open') + clearMenus() + !isActive && li.toggleClass('open') + return false + }) }) })( window.jQuery || window.ender ) \ No newline at end of file -- cgit v1.2.3 From 523e02f7df3bb706654b43cf604e61c9396212e1 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Wed, 19 Oct 2011 23:12:50 -0700 Subject: fix scrollspy simplify stuff more - break everything. --- js/bootstrap-dropdown.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 6d9430b39..d12fe48cb 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-dropdown.js v1.3.0 + * bootstrap-dropdown.js v2.0.0 * http://twitter.github.com/bootstrap/javascript.html#dropdown * ============================================================ * Copyright 2011 Twitter, Inc. @@ -22,6 +22,7 @@ /* APPLY TO STANDARD DROPDOWN ELEMENTS * =================================== */ + var selector = '[data-dropdown]' function clearMenus() { $(selector).parent('li').removeClass('open') @@ -29,7 +30,7 @@ $(function () { $('html').bind("click", clearMenus) - $('body').delegate('[data-dropdown]', 'click', function (e) { + $('body').delegate(selector, 'click', function (e) { var li = $(this).parent('li') , isActive = li.hasClass('open') clearMenus() -- cgit v1.2.3 From 0b1d5d9189ea82cde5e848e5a8771a8f4850e21f Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sun, 20 Nov 2011 18:19:50 -0800 Subject: revert all js stuff back to 1.4 :/ --- js/bootstrap-dropdown.js | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index d12fe48cb..cab0ec27e 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-dropdown.js v2.0.0 + * bootstrap-dropdown.js v1.4.0 * http://twitter.github.com/bootstrap/javascript.html#dropdown * ============================================================ * Copyright 2011 Twitter, Inc. @@ -18,25 +18,38 @@ * ============================================================ */ -(function( $ ){ +!function( $ ){ + + "use strict" + + /* 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 + }) + }) + } /* APPLY TO STANDARD DROPDOWN ELEMENTS * =================================== */ - var selector = '[data-dropdown]' + + var d = 'a.menu, .dropdown-toggle' function clearMenus() { - $(selector).parent('li').removeClass('open') + $(d).parent('li').removeClass('open') } $(function () { $('html').bind("click", clearMenus) - $('body').delegate(selector, 'click', function (e) { - var li = $(this).parent('li') - , isActive = li.hasClass('open') - clearMenus() - !isActive && li.toggleClass('open') - return false - }) + $('body').dropdown( '[data-dropdown] a.menu, [data-dropdown] .dropdown-toggle' ) }) -})( window.jQuery || window.ender ) \ No newline at end of file +}( window.jQuery || window.ender ); \ No newline at end of file -- cgit v1.2.3 From bc65b58551575c9dfb2e4d9f4f7af97009e39432 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sun, 20 Nov 2011 20:58:04 -0800 Subject: merge in js from 1.4... start working through js docs --- js/bootstrap-dropdown.js | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) (limited to 'js/bootstrap-dropdown.js') 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 -- cgit v1.2.3 From 71654cbf69333c3cf6f0bb373121640c6f061d68 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Thu, 24 Nov 2011 18:55:44 -0800 Subject: refactor alerts + add new readme which idefientifies goals for 2.0 js --- js/bootstrap-dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index bb7d11b1f..ef243fc6f 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -59,7 +59,7 @@ * =================================== */ $(function () { - $('html').bind("click", clearMenus) + $('html').bind("click.dropdown.data-api", clearMenus) $('body').dropdown(s) }) -- cgit v1.2.3 From 69372701cfe58876623c89a0bdeca5ce91dd839b Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Thu, 24 Nov 2011 19:40:25 -0800 Subject: refactor dropdown in accordance with readme --- js/bootstrap-dropdown.js | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index ef243fc6f..4526a9203 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -22,35 +22,42 @@ "use strict" - /* SIMPLE DROPDOWN LOGIC - * ===================== */ + /* DROPDOWN CLASS DEFINITION + * ========================= */ - var s = '[data-toggle="dropdown"]' + var toggle = '[data-toggle="dropdown"]' + , Dropdown = function ( element ) { + $(element).bind('click', this.toggle) + } - function clearMenus() { - $(s).parent('li').removeClass('open') - } + Dropdown.prototype = { + + toggle: function ( e ) { + var li = $(this).parent('li') + , isActive = li.hasClass('open') - function toggle(e) { - var li = $(this).parent('li') - , isActive = li.hasClass('open') + clearMenus() + !isActive && li.toggleClass('open') - clearMenus() - !isActive && li.toggleClass('open') + return false + } - return false + } + + function clearMenus() { + $(toggle).parent('li').removeClass('open') } /* DROPDOWN PLUGIN DEFINITION * ========================== */ - $.fn.dropdown = function ( selector ) { + $.fn.dropdown = function ( option ) { return this.each(function () { - var args = ['click', toggle] - , $this = $(this) - selector && args.unshift(selector) - $this[selector ? 'delegate' : 'bind'].apply($this, args) + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) }) } @@ -59,8 +66,8 @@ * =================================== */ $(function () { - $('html').bind("click.dropdown.data-api", clearMenus) - $('body').dropdown(s) + $('html').bind('click.dropdown.data-api', clearMenus) + $('body').delegate(toggle, 'click.dropdown.data-api', Dropdown.prototype.toggle) }) }( window.jQuery || window.ender ); \ No newline at end of file -- cgit v1.2.3 From 3925ea9986e70f5a87883563c47c8ecd3d631c02 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sun, 27 Nov 2011 16:01:26 -0800 Subject: remove trailing semicolons - we'll be hosting minified files with semicolons - no reason to make the dev source ugly --- js/bootstrap-dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 4526a9203..7259284bf 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -70,4 +70,4 @@ $('body').delegate(toggle, 'click.dropdown.data-api', Dropdown.prototype.toggle) }) -}( window.jQuery || window.ender ); \ No newline at end of file +}( window.jQuery || window.ender ) \ No newline at end of file -- cgit v1.2.3 From cee2f61898f4807311402fed747a93ee68a31f8f Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Wed, 30 Nov 2011 22:42:22 -0800 Subject: define constructor on prototypes --- js/bootstrap-dropdown.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 7259284bf..238a52e08 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -32,7 +32,9 @@ Dropdown.prototype = { - toggle: function ( e ) { + constructor: Dropdown + + , toggle: function ( e ) { var li = $(this).parent('li') , isActive = li.hasClass('open') -- cgit v1.2.3 From 1ef5fa7d6b4e50230c0c12919b0a06a9a2ac07f1 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Tue, 20 Dec 2011 18:02:47 -0800 Subject: giant refactor - all spec passing again... --- js/bootstrap-dropdown.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 238a52e08..d2881b276 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -68,8 +68,8 @@ * =================================== */ $(function () { - $('html').bind('click.dropdown.data-api', clearMenus) - $('body').delegate(toggle, 'click.dropdown.data-api', Dropdown.prototype.toggle) + $('html').on('click.dropdown.data-api', clearMenus) + $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) }) -}( window.jQuery || window.ender ) \ No newline at end of file +}( window.jQuery ) \ No newline at end of file -- cgit v1.2.3 From f72a94ae2879ebfc5206dd40d5db175e13113850 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Tue, 20 Dec 2011 23:28:48 -0800 Subject: update more readme changes - introduce target specificty convention to more plugins --- js/bootstrap-dropdown.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index d2881b276..15f4677b9 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -35,11 +35,15 @@ constructor: Dropdown , toggle: function ( e ) { - var li = $(this).parent('li') - , isActive = li.hasClass('open') + var $this = $(this) + , selector = $this.attr('data-target') || $this.attr('href') + , $parent = $(selector) + + $parent.length || ($parent = $this.parent()) clearMenus() - !isActive && li.toggleClass('open') + + !$parent.hasClass('open') && $parent.toggleClass('open') return false } @@ -47,7 +51,7 @@ } function clearMenus() { - $(toggle).parent('li').removeClass('open') + $(toggle).parent().removeClass('open') } @@ -63,6 +67,8 @@ }) } + $.fn.dropdown.Constructor = Dropdown + /* APPLY TO STANDARD DROPDOWN ELEMENTS * =================================== */ -- cgit v1.2.3 From 314feb702f9a95ee473e529650e16654714cd9f4 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Thu, 5 Jan 2012 18:32:08 -0800 Subject: listen to window for dropdown clear --- js/bootstrap-dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 15f4677b9..d846f1af1 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -74,7 +74,7 @@ * =================================== */ $(function () { - $('html').on('click.dropdown.data-api', clearMenus) + $(window).on('click.dropdown.data-api', clearMenus) $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) }) -- cgit v1.2.3 From 5a33c1b96e13a4650a127b0e81a91eb235561170 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sun, 8 Jan 2012 14:19:53 -0800 Subject: make dropdowns toggle when clicked (for mobile) --- js/bootstrap-dropdown.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index d846f1af1..3cb261992 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -38,12 +38,14 @@ var $this = $(this) , selector = $this.attr('data-target') || $this.attr('href') , $parent = $(selector) + , isActive $parent.length || ($parent = $this.parent()) + isActive = $parent.hasClass('open') clearMenus() - !$parent.hasClass('open') && $parent.toggleClass('open') + !isActive && $parent.toggleClass('open') return false } -- cgit v1.2.3 From 16eccc43d9fa6317818b5d1621d0477150214488 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sat, 14 Jan 2012 23:28:48 -0800 Subject: dates updated to 2012 --- js/bootstrap-dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 3cb261992..923da6bfa 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -2,7 +2,7 @@ * bootstrap-dropdown.js v2.0.0 * http://twitter.github.com/bootstrap/javascript.html#dropdown * ============================================================ - * Copyright 2011 Twitter, Inc. + * Copyright 2012 Twitter, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. -- cgit v1.2.3 From 84a8aa1beac447cbbe77983730f7590fc955b312 Mon Sep 17 00:00:00 2001 From: Jon Stevens Date: Tue, 24 Jan 2012 11:08:03 -0800 Subject: 2.0-wip: fix js heads --- js/bootstrap-dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 923da6bfa..f9d93fc72 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -1,6 +1,6 @@ /* ============================================================ * bootstrap-dropdown.js v2.0.0 - * http://twitter.github.com/bootstrap/javascript.html#dropdown + * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. * -- cgit v1.2.3 From 5844aa550d5a2d22d527d80cfa42443914d28c1f Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Thu, 26 Jan 2012 15:00:59 -0800 Subject: consistent new lines at ends of files --- js/bootstrap-dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index f9d93fc72..1ae317b44 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -80,4 +80,4 @@ $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) }) -}( window.jQuery ) \ No newline at end of file +}( window.jQuery ) -- cgit v1.2.3 From e61164e67a048c20c512e99335e3adfcc3b63604 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sat, 28 Jan 2012 01:35:13 -0800 Subject: all unit tests passing in ie7 --- js/bootstrap-dropdown.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 1ae317b44..38b6e054f 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -36,11 +36,18 @@ , toggle: function ( e ) { var $this = $(this) - , selector = $this.attr('data-target') || $this.attr('href') - , $parent = $(selector) + , selector = $this.attr('data-target') + , $parent , isActive + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) $parent.length || ($parent = $this.parent()) + isActive = $parent.hasClass('open') clearMenus() @@ -76,7 +83,7 @@ * =================================== */ $(function () { - $(window).on('click.dropdown.data-api', clearMenus) + $('html').on('click.dropdown.data-api', clearMenus) $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) }) -- cgit v1.2.3 From d4659521386eab794eaf67f57e8762656aa28de7 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sat, 28 Jan 2012 11:03:39 -0800 Subject: clean up js api for dropdowns --- js/bootstrap-dropdown.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'js/bootstrap-dropdown.js') diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 38b6e054f..48d3ce0f8 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -27,7 +27,10 @@ var toggle = '[data-toggle="dropdown"]' , Dropdown = function ( element ) { - $(element).bind('click', this.toggle) + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) } Dropdown.prototype = { @@ -51,7 +54,6 @@ isActive = $parent.hasClass('open') clearMenus() - !isActive && $parent.toggleClass('open') return false -- cgit v1.2.3