From bccc2cb7191eb54a4d67563625a748d7ecd381d4 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sat, 24 Mar 2012 18:20:09 -0700 Subject: add preventDefault support for all inital event types (show, close, hide, etc.) + fix small bug with scrollspy.last --- docs/assets/bootstrap.zip | Bin 56207 -> 56306 bytes docs/assets/js/bootstrap-alert.js | 9 +++++---- docs/assets/js/bootstrap-carousel.js | 7 +++++-- docs/assets/js/bootstrap-collapse.js | 12 +++++++----- docs/assets/js/bootstrap-scrollspy.js | 4 ++-- docs/assets/js/bootstrap-tab.js | 10 +++++++--- 6 files changed, 26 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/assets/bootstrap.zip b/docs/assets/bootstrap.zip index 8ad9a0695..594fb24db 100644 Binary files a/docs/assets/bootstrap.zip and b/docs/assets/bootstrap.zip differ diff --git a/docs/assets/js/bootstrap-alert.js b/docs/assets/js/bootstrap-alert.js index d17f44e15..7a1607da1 100644 --- a/docs/assets/js/bootstrap-alert.js +++ b/docs/assets/js/bootstrap-alert.js @@ -45,15 +45,16 @@ } $parent = $(selector) - $parent.trigger('close') e && e.preventDefault() $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) - $parent - .trigger('close') - .removeClass('in') + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') function removeElement() { $parent diff --git a/docs/assets/js/bootstrap-carousel.js b/docs/assets/js/bootstrap-carousel.js index 7db5bea33..8ce7418d2 100644 --- a/docs/assets/js/bootstrap-carousel.js +++ b/docs/assets/js/bootstrap-carousel.js @@ -86,6 +86,7 @@ , direction = type == 'next' ? 'left' : 'right' , fallback = type == 'next' ? 'first' : 'last' , that = this + , e = $.Event('slide') this.sliding = true @@ -96,11 +97,12 @@ if ($next.hasClass('active')) return if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) - this.$element.trigger('slide') this.$element.one($.support.transition.end, function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) @@ -108,7 +110,8 @@ setTimeout(function () { that.$element.trigger('slid') }, 0) }) } else { - this.$element.trigger('slide') + this.$element.trigger(e) + if (e.isDefaultPrevented()) return $active.removeClass('active') $next.addClass('active') this.sliding = false diff --git a/docs/assets/js/bootstrap-collapse.js b/docs/assets/js/bootstrap-collapse.js index 16b91eb24..478eea391 100644 --- a/docs/assets/js/bootstrap-collapse.js +++ b/docs/assets/js/bootstrap-collapse.js @@ -61,7 +61,7 @@ } this.$element[dimension](0) - this.transition('addClass', 'show', 'shown') + this.transition('addClass', $.Event('show'), 'shown') this.$element[dimension](this.$element[0][scroll]) } @@ -70,7 +70,7 @@ if (this.transitioning) return dimension = this.dimension() this.reset(this.$element[dimension]()) - this.transition('removeClass', 'hide', 'hidden') + this.transition('removeClass', $.Event('hide'), 'hidden') this.$element[dimension](0) } @@ -95,11 +95,13 @@ that.$element.trigger(completeEvent) } + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + this.transitioning = 1 - this.$element - .trigger(startEvent) - [method]('in') + this.$element[method]('in') $.support.transition && this.$element.hasClass('collapse') ? this.$element.one($.support.transition.end, complete) : diff --git a/docs/assets/js/bootstrap-scrollspy.js b/docs/assets/js/bootstrap-scrollspy.js index bd3f10604..c02e263b0 100644 --- a/docs/assets/js/bootstrap-scrollspy.js +++ b/docs/assets/js/bootstrap-scrollspy.js @@ -46,8 +46,8 @@ var self = this , $targets - this.offsets = [] - this.targets = [] + this.offsets = $([]) + this.targets = $([]) $targets = this.$body .find(this.selector) diff --git a/docs/assets/js/bootstrap-tab.js b/docs/assets/js/bootstrap-tab.js index b3938f671..974cc0aca 100644 --- a/docs/assets/js/bootstrap-tab.js +++ b/docs/assets/js/bootstrap-tab.js @@ -39,6 +39,7 @@ , selector = $this.attr('data-target') , previous , $target + , e if (!selector) { selector = $this.attr('href') @@ -49,11 +50,14 @@ previous = $ul.find('.active a').last()[0] - $this.trigger({ - type: 'show' - , relatedTarget: previous + e = $.Event('show', { + relatedTarget: previous }) + $this.trigger(e) + + if (e.isDefaultPrevented()) return + $target = $(selector) this.activate($this.parent('li'), $ul) -- cgit v1.2.3