From 45dddc59a19f3e9decaa4bf0e0db3f884a0f6ff7 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sat, 18 Aug 2012 19:54:30 -0700 Subject: add click option for tooltip, popover - make click default for popover --- js/bootstrap-popover.js | 1 + js/bootstrap-tooltip.js | 6 ++++-- js/tests/unit/bootstrap-popover.js | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'js') diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js index b7883c5d2c..bbf0ba4bc2 100644 --- a/js/bootstrap-popover.js +++ b/js/bootstrap-popover.js @@ -95,6 +95,7 @@ $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { placement: 'right' + , trigger: 'click' , content: '' , template: '

' }) diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js index 1e681627ad..0b3230bc1f 100644 --- a/js/bootstrap-tooltip.js +++ b/js/bootstrap-tooltip.js @@ -44,8 +44,10 @@ this.options = this.getOptions(options) this.enabled = true - if (this.options.trigger != 'manual') { - eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' + if (this.options.trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else if (this.options.trigger != 'manual') { + eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js index daffe215c9..04d5279d24 100644 --- a/js/tests/unit/bootstrap-popover.js +++ b/js/tests/unit/bootstrap-popover.js @@ -92,7 +92,7 @@ $(function () { }) test("should destroy popover", function () { - var popover = $('
').popover().on('click.foo', function(){}) + var popover = $('
').popover({trigger: 'hover'}).on('click.foo', function(){}) ok(popover.data('popover'), 'popover has data') ok(popover.data('events').mouseover && popover.data('events').mouseout, 'popover has hover event') ok(popover.data('events').click[0].namespace == 'foo', 'popover has extra click.foo event') -- cgit v1.2.3