diff options
author | Jacob Thornton <jacobthornton@gmail.com> | 2012-08-28 08:27:01 +0400 |
---|---|---|
committer | Jacob Thornton <jacobthornton@gmail.com> | 2012-08-28 08:27:01 +0400 |
commit | 4751a0a2745b8480371678281ee6a7f874aaf096 (patch) | |
tree | 9d42853743e4d20fcdaf4b699401fb1171c45f05 /js | |
parent | 601e252074eedf89de9cb080db9c463a4b67ba77 (diff) |
crude check to make sure element has a # for an id
Diffstat (limited to 'js')
-rw-r--r-- | js/bootstrap-dropdown.js | 2 | ||||
-rw-r--r-- | js/tests/unit/bootstrap-dropdown.js | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index bd97356d18..c4cdc16960 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) diff --git a/js/tests/unit/bootstrap-dropdown.js b/js/tests/unit/bootstrap-dropdown.js index 4e52c8485e..3a617692b3 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">' |