diff options
| author | Mark Otto <[email protected]> | 2013-12-31 13:53:33 -0800 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2013-12-31 13:53:33 -0800 |
| commit | b253cb2c1e34a41940c4933fb95c46da833fc5f9 (patch) | |
| tree | e5a40b963eba273c42e4aad21fb3858a657002dd /js | |
| parent | 9e1153d0498a9e9612c1db85922642fe2aa38c2a (diff) | |
| parent | 8812856de1ce17bb2f482c75370fb2e3db7ac6de (diff) | |
| download | bootstrap-b253cb2c1e34a41940c4933fb95c46da833fc5f9.tar.xz bootstrap-b253cb2c1e34a41940c4933fb95c46da833fc5f9.zip | |
Merge branch 'master' into docs_derp
Conflicts:
_config.yml
docs/_includes/footer.html
docs/_includes/nav-main.html
docs/_includes/old-bs-docs.html
docs/_layouts/default.html
docs/_layouts/home.html
docs/getting-started.html
docs/index.html
Diffstat (limited to 'js')
| -rw-r--r-- | js/carousel.js | 2 | ||||
| -rw-r--r-- | js/dropdown.js | 19 | ||||
| -rw-r--r-- | js/modal.js | 14 | ||||
| -rw-r--r-- | js/popover.js | 4 | ||||
| -rw-r--r-- | js/scrollspy.js | 5 |
5 files changed, 30 insertions, 14 deletions
diff --git a/js/carousel.js b/js/carousel.js index fbd055116..a9a2eb2d1 100644 --- a/js/carousel.js +++ b/js/carousel.js @@ -100,7 +100,7 @@ $next = this.$element.find('.item')[fallback]() } - if ($next.hasClass('active')) return + if ($next.hasClass('active')) return this.sliding = false var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) this.$element.trigger(e) diff --git a/js/dropdown.js b/js/dropdown.js index 48752fda5..1e25403fc 100644 --- a/js/dropdown.js +++ b/js/dropdown.js @@ -34,13 +34,14 @@ $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus) } - $parent.trigger(e = $.Event('show.bs.dropdown')) + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $parent .toggleClass('open') - .trigger('shown.bs.dropdown') + .trigger('shown.bs.dropdown', relatedTarget) $this.focus() } @@ -66,7 +67,8 @@ return $this.click() } - var $items = $('[role=menu] li:not(.divider):visible a', $parent) + var desc = ' li:not(.divider):visible a' + var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc) if (!$items.length) return @@ -79,14 +81,15 @@ $items.eq(index).focus() } - function clearMenus() { + function clearMenus(e) { $(backdrop).remove() - $(toggle).each(function (e) { + $(toggle).each(function () { var $parent = getParent($(this)) + var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return - $parent.trigger(e = $.Event('hide.bs.dropdown')) + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return - $parent.removeClass('open').trigger('hidden.bs.dropdown') + $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) }) } @@ -138,6 +141,6 @@ .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]', Dropdown.prototype.keydown) + .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown) }(jQuery); diff --git a/js/modal.js b/js/modal.js index 5fd53b849..856ea7cd8 100644 --- a/js/modal.js +++ b/js/modal.js @@ -18,9 +18,13 @@ this.$backdrop = this.isShown = null - if (this.options.remote) this.$element.find('.modal-content').load(this.options.remote, $.proxy(function () { - this.$element.trigger('loaded.bs.modal') - }, this)) + if (this.options.remote) { + this.$element + .find('.modal-content') + .load(this.options.remote, $.proxy(function () { + this.$element.trigger('loaded.bs.modal') + }, this)) + } } Modal.DEFAULTS = { @@ -54,7 +58,9 @@ that.$element.appendTo(document.body) // don't move modals dom position } - that.$element.show() + that.$element + .show() + .scrollTop(0) if (transition) { that.$element[0].offsetWidth // force reflow diff --git a/js/popover.js b/js/popover.js index 1e8104c4f..3fd29802d 100644 --- a/js/popover.js +++ b/js/popover.js @@ -43,7 +43,9 @@ var content = this.getContent() $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) - $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content) + $tip.find('.popover-content')[ // we use append for html objects to maintain js events + this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' + ](content) $tip.removeClass('fade top bottom left right in') diff --git a/js/scrollspy.js b/js/scrollspy.js index 571dafbde..fecd8a446 100644 --- a/js/scrollspy.js +++ b/js/scrollspy.js @@ -51,6 +51,7 @@ return ($href && $href.length + && $href.is(':visible') && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null }) .sort(function (a, b) { return a[0] - b[0] }) @@ -73,6 +74,10 @@ return activeTarget != (i = targets.last()[0]) && this.activate(i) } + if (activeTarget && scrollTop <= offsets[0]) { + return activeTarget != (i = targets[0]) && this.activate(i) + } + for (i = offsets.length; i--;) { activeTarget != targets[i] && scrollTop >= offsets[i] |
