]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Independently delegate data-api selectors
authorBen-Russell <Ben-Russell@users.noreply.github.com>
Tue, 26 Aug 2014 21:34:21 +0000 (14:34 -0700)
committerHeinrich Fenkart <hnrch02@gmail.com>
Wed, 29 Oct 2014 03:54:53 +0000 (04:54 +0100)
Fixes #14462.
Closes #14463 by merging it.

js/carousel.js
js/dropdown.js
js/tab.js

index b6889900957860cf52a065bad38802929a3bc3c2..8884424efd9a0be38ea927a58bdb2c1c122fcaf4 100644 (file)
   // CAROUSEL DATA-API
   // =================
 
-  $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
+  var clickHandler = function (e) {
     var href
     var $this   = $(this)
     var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
     }
 
     e.preventDefault()
-  })
+  }
+
+  $(document)
+    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
 
   $(window).on('load', function () {
     $('[data-ride="carousel"]').each(function () {
index 7388f812463491933f2b720ff1fb0b07fe2b212b..fd7f658f727497b4a93de1598aad3ae50e4250c3 100644 (file)
     .on('click.bs.dropdown.data-api', clearMenus)
     .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
     .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
-    .on('keydown.bs.dropdown.data-api', toggle + ', [role="menu"], [role="listbox"]', Dropdown.prototype.keydown)
+    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+    .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
+    .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
 
 }(jQuery);
index dd307a424af55534b6564584126289fe1b2233f4..5c09da49be6d721e38712366a1fa15187a194cd2 100644 (file)
--- a/js/tab.js
+++ b/js/tab.js
   // TAB DATA-API
   // ============
 
-  $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+  var clickHandler = function (e) {
     e.preventDefault()
     Plugin.call($(this), 'show')
-  })
+  }
+
+  $(document)
+    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
 
 }(jQuery);