less-rails-bootstrap 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. data/CHANGELOG.md +5 -0
  2. data/lib/less/rails/bootstrap/version.rb +1 -1
  3. data/scripts/update_bootstrap.sh +1 -1
  4. data/vendor/assets/javascripts/twitter/bootstrap/affix.js +4 -2
  5. data/vendor/assets/javascripts/twitter/bootstrap/alert.js +2 -4
  6. data/vendor/assets/javascripts/twitter/bootstrap/button.js +5 -7
  7. data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +12 -12
  8. data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +9 -11
  9. data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +9 -11
  10. data/vendor/assets/javascripts/twitter/bootstrap/modal.js +20 -25
  11. data/vendor/assets/javascripts/twitter/bootstrap/popover.js +1 -1
  12. data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +1 -1
  13. data/vendor/assets/javascripts/twitter/bootstrap/tab.js +5 -7
  14. data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +12 -11
  15. data/vendor/assets/javascripts/twitter/bootstrap/transition.js +5 -5
  16. data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +19 -9
  17. data/vendor/frameworks/twitter/bootstrap/accordion.less +1 -1
  18. data/vendor/frameworks/twitter/bootstrap/alerts.less +1 -1
  19. data/vendor/frameworks/twitter/bootstrap/bootstrap.less +2 -1
  20. data/vendor/frameworks/twitter/bootstrap/breadcrumbs.less +1 -1
  21. data/vendor/frameworks/twitter/bootstrap/button-groups.less +5 -8
  22. data/vendor/frameworks/twitter/bootstrap/buttons.less +17 -16
  23. data/vendor/frameworks/twitter/bootstrap/close.less +1 -1
  24. data/vendor/frameworks/twitter/bootstrap/code.less +2 -2
  25. data/vendor/frameworks/twitter/bootstrap/dropdowns.less +32 -5
  26. data/vendor/frameworks/twitter/bootstrap/forms.less +47 -14
  27. data/vendor/frameworks/twitter/bootstrap/hero-unit.less +6 -5
  28. data/vendor/frameworks/twitter/bootstrap/labels-badges.less +4 -2
  29. data/vendor/frameworks/twitter/bootstrap/layouts.less +1 -1
  30. data/vendor/frameworks/twitter/bootstrap/media.less +55 -0
  31. data/vendor/frameworks/twitter/bootstrap/mixins.less +15 -10
  32. data/vendor/frameworks/twitter/bootstrap/modals.less +7 -11
  33. data/vendor/frameworks/twitter/bootstrap/navbar.less +6 -6
  34. data/vendor/frameworks/twitter/bootstrap/navs.less +3 -2
  35. data/vendor/frameworks/twitter/bootstrap/pager.less +11 -10
  36. data/vendor/frameworks/twitter/bootstrap/pagination.less +69 -12
  37. data/vendor/frameworks/twitter/bootstrap/popovers.less +2 -2
  38. data/vendor/frameworks/twitter/bootstrap/progress-bars.less +2 -2
  39. data/vendor/frameworks/twitter/bootstrap/reset.less +5 -4
  40. data/vendor/frameworks/twitter/bootstrap/responsive-767px-max.less +20 -1
  41. data/vendor/frameworks/twitter/bootstrap/responsive-navbar.less +12 -4
  42. data/vendor/frameworks/twitter/bootstrap/responsive.less +1 -1
  43. data/vendor/frameworks/twitter/bootstrap/sprites.less +3 -3
  44. data/vendor/frameworks/twitter/bootstrap/tables.less +20 -29
  45. data/vendor/frameworks/twitter/bootstrap/thumbnails.less +1 -1
  46. data/vendor/frameworks/twitter/bootstrap/tooltip.less +1 -1
  47. data/vendor/frameworks/twitter/bootstrap/type.less +30 -24
  48. data/vendor/frameworks/twitter/bootstrap/variables.less +23 -1
  49. data/vendor/frameworks/twitter/bootstrap/wells.less +3 -3
  50. metadata +33 -11
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
+ 2.2.0 - 10/31/2012
5
+
6
+ * Update bootstrap to 2.2.1. Thanks to @spider-network
7
+
8
+
4
9
  2.1.1 - 09/05/2012
5
10
 
6
11
  * Use bootstrap 2.1.1. Thanks @erdah.
@@ -1,7 +1,7 @@
1
1
  module Less
2
2
  module Rails
3
3
  module Bootstrap
4
- VERSION = "2.1.1"
4
+ VERSION = "2.2.0"
5
5
  end
6
6
  end
7
7
  end
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash
2
2
 
3
- bs_dir='../bootstrap'
3
+ bs_dir='../../twitter/bootstrap'
4
4
  lrb_dir='.'
5
5
  lrb_img_dir="$lrb_dir/vendor/assets/images/twitter/bootstrap"
6
6
  lrb_js_dir="$lrb_dir/vendor/assets/javascripts/twitter/bootstrap"
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-affix.js v2.1.1
2
+ * bootstrap-affix.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#affix
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -28,7 +28,9 @@
28
28
 
29
29
  var Affix = function (element, options) {
30
30
  this.options = $.extend({}, $.fn.affix.defaults, options)
31
- this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
31
+ this.$window = $(window)
32
+ .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
33
+ .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
32
34
  this.$element = $(element)
33
35
  this.checkPosition()
34
36
  }
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-alert.js v2.1.1
2
+ * bootstrap-alert.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#alerts
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -83,8 +83,6 @@
83
83
  /* ALERT DATA-API
84
84
  * ============== */
85
85
 
86
- $(function () {
87
- $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
88
- })
86
+ $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
89
87
 
90
88
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-button.js v2.1.1
2
+ * bootstrap-button.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#buttons
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -85,12 +85,10 @@
85
85
  /* BUTTON DATA-API
86
86
  * =============== */
87
87
 
88
- $(function () {
89
- $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
90
- var $btn = $(e.target)
91
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
92
- $btn.button('toggle')
93
- })
88
+ $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
89
+ var $btn = $(e.target)
90
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
91
+ $btn.button('toggle')
94
92
  })
95
93
 
96
94
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-carousel.js v2.1.1
2
+ * bootstrap-carousel.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#carousel
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -94,9 +94,7 @@
94
94
  , direction = type == 'next' ? 'left' : 'right'
95
95
  , fallback = type == 'next' ? 'first' : 'last'
96
96
  , that = this
97
- , e = $.Event('slide', {
98
- relatedTarget: $next[0]
99
- })
97
+ , e
100
98
 
101
99
  this.sliding = true
102
100
 
@@ -104,6 +102,10 @@
104
102
 
105
103
  $next = $next.length ? $next : this.$element.find('.item')[fallback]()
106
104
 
105
+ e = $.Event('slide', {
106
+ relatedTarget: $next[0]
107
+ })
108
+
107
109
  if ($next.hasClass('active')) return
108
110
 
109
111
  if ($.support.transition && this.$element.hasClass('slide')) {
@@ -163,14 +165,12 @@
163
165
  /* CAROUSEL DATA-API
164
166
  * ================= */
165
167
 
166
- $(function () {
167
- $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
168
- var $this = $(this), href
169
- , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
170
- , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
171
- $target.carousel(options)
172
- e.preventDefault()
173
- })
168
+ $(document).on('click.carousel.data-api', '[data-slide]', function (e) {
169
+ var $this = $(this), href
170
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
171
+ , options = $.extend({}, $target.data(), $this.data())
172
+ $target.carousel(options)
173
+ e.preventDefault()
174
174
  })
175
175
 
176
176
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-collapse.js v2.1.1
2
+ * bootstrap-collapse.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#collapse
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -143,16 +143,14 @@
143
143
  /* COLLAPSIBLE DATA-API
144
144
  * ==================== */
145
145
 
146
- $(function () {
147
- $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
148
- var $this = $(this), href
149
- , target = $this.attr('data-target')
150
- || e.preventDefault()
151
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
152
- , option = $(target).data('collapse') ? 'toggle' : $this.data()
153
- $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
154
- $(target).collapse(option)
155
- })
146
+ $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
147
+ var $this = $(this), href
148
+ , target = $this.attr('data-target')
149
+ || e.preventDefault()
150
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
151
+ , option = $(target).data('collapse') ? 'toggle' : $this.data()
152
+ $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
153
+ $(target).collapse(option)
156
154
  })
157
155
 
158
156
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-dropdown.js v2.1.1
2
+ * bootstrap-dropdown.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#dropdowns
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -100,8 +100,9 @@
100
100
  }
101
101
 
102
102
  function clearMenus() {
103
- getParent($(toggle))
104
- .removeClass('open')
103
+ $(toggle).each(function () {
104
+ getParent($(this)).removeClass('open')
105
+ })
105
106
  }
106
107
 
107
108
  function getParent($this) {
@@ -138,13 +139,10 @@
138
139
  /* APPLY TO STANDARD DROPDOWN ELEMENTS
139
140
  * =================================== */
140
141
 
141
- $(function () {
142
- $('html')
143
- .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
144
- $('body')
145
- .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
146
- .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
147
- .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
148
- })
142
+ $(document)
143
+ .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
144
+ .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
145
+ .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
146
+ .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
149
147
 
150
148
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* =========================================================
2
- * bootstrap-modal.js v2.1.1
2
+ * bootstrap-modal.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#modals
4
4
  * =========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -49,8 +49,6 @@
49
49
 
50
50
  if (this.isShown || e.isDefaultPrevented()) return
51
51
 
52
- $('body').addClass('modal-open')
53
-
54
52
  this.isShown = true
55
53
 
56
54
  this.escape()
@@ -72,13 +70,12 @@
72
70
  that.$element
73
71
  .addClass('in')
74
72
  .attr('aria-hidden', false)
75
- .focus()
76
73
 
77
74
  that.enforceFocus()
78
75
 
79
76
  transition ?
80
- that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
81
- that.$element.trigger('shown')
77
+ that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
78
+ that.$element.focus().trigger('shown')
82
79
 
83
80
  })
84
81
  }
@@ -96,8 +93,6 @@
96
93
 
97
94
  this.isShown = false
98
95
 
99
- $('body').removeClass('modal-open')
100
-
101
96
  this.escape()
102
97
 
103
98
  $(document).off('focusin.modal')
@@ -167,9 +162,11 @@
167
162
  this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
168
163
  .appendTo(document.body)
169
164
 
170
- if (this.options.backdrop != 'static') {
171
- this.$backdrop.click($.proxy(this.hide, this))
172
- }
165
+ this.$backdrop.click(
166
+ this.options.backdrop == 'static' ?
167
+ $.proxy(this.$element[0].focus, this.$element[0])
168
+ : $.proxy(this.hide, this)
169
+ )
173
170
 
174
171
  if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
175
172
 
@@ -219,21 +216,19 @@
219
216
  /* MODAL DATA-API
220
217
  * ============== */
221
218
 
222
- $(function () {
223
- $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
224
- var $this = $(this)
225
- , href = $this.attr('href')
226
- , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
227
- , option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
219
+ $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
220
+ var $this = $(this)
221
+ , href = $this.attr('href')
222
+ , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
223
+ , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
228
224
 
229
- e.preventDefault()
225
+ e.preventDefault()
230
226
 
231
- $target
232
- .modal(option)
233
- .one('hide', function () {
234
- $this.focus()
235
- })
236
- })
227
+ $target
228
+ .modal(option)
229
+ .one('hide', function () {
230
+ $this.focus()
231
+ })
237
232
  })
238
233
 
239
- }(window.jQuery);
234
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-popover.js v2.1.1
2
+ * bootstrap-popover.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#popovers
4
4
  * ===========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-scrollspy.js v2.1.1
2
+ * bootstrap-scrollspy.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================
2
- * bootstrap-tab.js v2.1.1
2
+ * bootstrap-tab.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
4
4
  * ========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -49,7 +49,7 @@
49
49
 
50
50
  if ( $this.parent('li').hasClass('active') ) return
51
51
 
52
- previous = $ul.find('.active a').last()[0]
52
+ previous = $ul.find('.active:last a')[0]
53
53
 
54
54
  e = $.Event('show', {
55
55
  relatedTarget: previous
@@ -125,11 +125,9 @@
125
125
  /* TAB DATA-API
126
126
  * ============ */
127
127
 
128
- $(function () {
129
- $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
130
- e.preventDefault()
131
- $(this).tab('show')
132
- })
128
+ $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
129
+ e.preventDefault()
130
+ $(this).tab('show')
133
131
  })
134
132
 
135
133
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-tooltip.js v2.1.1
2
+ * bootstrap-tooltip.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
5
  * ===========================================================
@@ -119,9 +119,9 @@
119
119
  inside = /in/.test(placement)
120
120
 
121
121
  $tip
122
- .remove()
122
+ .detach()
123
123
  .css({ top: 0, left: 0, display: 'block' })
124
- .appendTo(inside ? this.$element : document.body)
124
+ .insertAfter(this.$element)
125
125
 
126
126
  pos = this.getPosition(inside)
127
127
 
@@ -144,7 +144,7 @@
144
144
  }
145
145
 
146
146
  $tip
147
- .css(tp)
147
+ .offset(tp)
148
148
  .addClass(placement)
149
149
  .addClass('in')
150
150
  }
@@ -166,18 +166,18 @@
166
166
 
167
167
  function removeWithAnimation() {
168
168
  var timeout = setTimeout(function () {
169
- $tip.off($.support.transition.end).remove()
169
+ $tip.off($.support.transition.end).detach()
170
170
  }, 500)
171
171
 
172
172
  $tip.one($.support.transition.end, function () {
173
173
  clearTimeout(timeout)
174
- $tip.remove()
174
+ $tip.detach()
175
175
  })
176
176
  }
177
177
 
178
178
  $.support.transition && this.$tip.hasClass('fade') ?
179
179
  removeWithAnimation() :
180
- $tip.remove()
180
+ $tip.detach()
181
181
 
182
182
  return this
183
183
  }
@@ -235,8 +235,9 @@
235
235
  this.enabled = !this.enabled
236
236
  }
237
237
 
238
- , toggle: function () {
239
- this[this.tip().hasClass('in') ? 'hide' : 'show']()
238
+ , toggle: function (e) {
239
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
240
+ self[self.tip().hasClass('in') ? 'hide' : 'show']()
240
241
  }
241
242
 
242
243
  , destroy: function () {
@@ -269,7 +270,7 @@
269
270
  , trigger: 'hover'
270
271
  , title: ''
271
272
  , delay: 0
272
- , html: true
273
+ , html: false
273
274
  }
274
275
 
275
- }(window.jQuery);
276
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===================================================
2
- * bootstrap-transition.js v2.1.1
2
+ * bootstrap-transition.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#transitions
4
4
  * ===================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -20,13 +20,13 @@
20
20
 
21
21
  !function ($) {
22
22
 
23
- $(function () {
23
+ "use strict"; // jshint ;_;
24
24
 
25
- "use strict"; // jshint ;_;
26
25
 
26
+ /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
27
+ * ======================================================= */
27
28
 
28
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
29
- * ======================================================= */
29
+ $(function () {
30
30
 
31
31
  $.support.transition = (function () {
32
32
 
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-typeahead.js v2.1.1
2
+ * bootstrap-typeahead.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#typeahead
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -174,7 +174,7 @@
174
174
  .on('keypress', $.proxy(this.keypress, this))
175
175
  .on('keyup', $.proxy(this.keyup, this))
176
176
 
177
- if ($.browser.chrome || $.browser.webkit || $.browser.msie) {
177
+ if (this.eventSupported('keydown')) {
178
178
  this.$element.on('keydown', $.proxy(this.keydown, this))
179
179
  }
180
180
 
@@ -183,6 +183,15 @@
183
183
  .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
184
184
  }
185
185
 
186
+ , eventSupported: function(eventName) {
187
+ var isSupported = eventName in this.$element
188
+ if (!isSupported) {
189
+ this.$element.setAttribute(eventName, 'return;')
190
+ isSupported = typeof this.$element[eventName] === 'function'
191
+ }
192
+ return isSupported
193
+ }
194
+
186
195
  , move: function (e) {
187
196
  if (!this.shown) return
188
197
 
@@ -221,6 +230,9 @@
221
230
  switch(e.keyCode) {
222
231
  case 40: // down arrow
223
232
  case 38: // up arrow
233
+ case 16: // shift
234
+ case 17: // ctrl
235
+ case 18: // alt
224
236
  break
225
237
 
226
238
  case 9: // tab
@@ -288,13 +300,11 @@
288
300
  /* TYPEAHEAD DATA-API
289
301
  * ================== */
290
302
 
291
- $(function () {
292
- $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
293
- var $this = $(this)
294
- if ($this.data('typeahead')) return
295
- e.preventDefault()
296
- $this.typeahead($this.data())
297
- })
303
+ $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
304
+ var $this = $(this)
305
+ if ($this.data('typeahead')) return
306
+ e.preventDefault()
307
+ $this.typeahead($this.data())
298
308
  })
299
309
 
300
310
  }(window.jQuery);