]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
crude check to make sure element has a # for an id
authorJacob Thornton <jacobthornton@gmail.com>
Tue, 28 Aug 2012 04:27:01 +0000 (21:27 -0700)
committerJacob Thornton <jacobthornton@gmail.com>
Tue, 28 Aug 2012 04:27:01 +0000 (21:27 -0700)
js/bootstrap-dropdown.js
js/tests/unit/bootstrap-dropdown.js

index bd97356d1802773186bea7da4c5ce1ecc1ce12eb..c4cdc16960199d20aa9488015170a9efa63e0739 100644 (file)
 
     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)
index 4e52c8485e7156c8a722076e5208f74b1772149a..3a617692b380a46cf579e1291b7aaa2e881197ff 100644 (file)
@@ -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">'