diff options
| author | Mark Otto <[email protected]> | 2012-08-27 22:43:05 -0700 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2012-08-27 22:43:05 -0700 |
| commit | 545edf5459d0bdc25b65ba7ee9983cb6562c2842 (patch) | |
| tree | c903e8dc0668cf62e2c6fed5d105232a70c52051 /js | |
| parent | 609142eee254ef0981a72a1921a053d2a7f16bc6 (diff) | |
| parent | 3568146b28e3eb22e4347062b1e4f923f87daeb8 (diff) | |
| download | bootstrap-545edf5459d0bdc25b65ba7ee9983cb6562c2842.tar.xz bootstrap-545edf5459d0bdc25b65ba7ee9983cb6562c2842.zip | |
Merge branch '2.1.1-wip' of github.com:twitter/bootstrap into 2.1.1-wip
Diffstat (limited to 'js')
| -rw-r--r-- | js/bootstrap-dropdown.js | 4 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-dropdown.js | 18 |
2 files changed, 20 insertions, 2 deletions
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index bd97356d1..42370dfbe 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -110,7 +110,7 @@ if (!selector) { selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 } $parent = $(selector) @@ -142,7 +142,7 @@ $('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) $('body') - .on('click.dropdown touchstart.dropdown.data-api', '.dropdown', function (e) { e.stopPropagation() }) + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) }) diff --git a/js/tests/unit/bootstrap-dropdown.js b/js/tests/unit/bootstrap-dropdown.js index 4e52c8485..3a617692b 100644 --- a/js/tests/unit/bootstrap-dropdown.js +++ b/js/tests/unit/bootstrap-dropdown.js @@ -61,6 +61,24 @@ $(function () { ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click') }) + test("should test if element has a # before assuming it's a selector", function () { + var dropdownHTML = '<ul class="tabs">' + + '<li class="dropdown">' + + '<a href="/foo/" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' + + '<ul class="dropdown-menu">' + + '<li><a href="#">Secondary link</a></li>' + + '<li><a href="#">Something else here</a></li>' + + '<li class="divider"></li>' + + '<li><a href="#">Another link</a></li>' + + '</ul>' + + '</li>' + + '</ul>' + , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click() + + ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click') + }) + + test("should remove open class if body clicked", function () { var dropdownHTML = '<ul class="tabs">' + '<li class="dropdown">' |
