diff options
| author | Jacob Thornton <[email protected]> | 2012-03-08 11:39:33 -0800 |
|---|---|---|
| committer | Jacob Thornton <[email protected]> | 2012-03-08 11:39:33 -0800 |
| commit | d3721c504e7838ba3ee867d68536e6cf0b6b7f66 (patch) | |
| tree | a77223cd03ea0ae2fda5afa92edadf0ae6c6fa9d | |
| parent | bcef12dfcc8d7e0df03437589f22174042745d78 (diff) | |
| parent | 26e683f1d0b7baedd161d928501043c1a7880445 (diff) | |
| download | bootstrap-d3721c504e7838ba3ee867d68536e6cf0b6b7f66.tar.xz bootstrap-d3721c504e7838ba3ee867d68536e6cf0b6b7f66.zip | |
Merge branch '2.0.2-wip' of github.com:twitter/bootstrap into 2.0.2-wip
| -rw-r--r-- | js/bootstrap-typeahead.js | 12 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-typeahead.js | 6 |
2 files changed, 11 insertions, 7 deletions
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js index 503155950..99f84f796 100644 --- a/js/bootstrap-typeahead.js +++ b/js/bootstrap-typeahead.js @@ -40,6 +40,7 @@ , select: function () { var val = this.$menu.find('.active').attr('data-value') this.$element.val(val) + this.$element.change(); return this.hide() } @@ -165,9 +166,6 @@ } , keyup: function (e) { - e.stopPropagation() - e.preventDefault() - switch(e.keyCode) { case 40: // down arrow case 38: // up arrow @@ -180,6 +178,7 @@ break case 27: // escape + if (!this.shown) return this.hide() break @@ -187,10 +186,11 @@ this.lookup() } + e.stopPropagation() + e.preventDefault() } , keypress: function (e) { - e.stopPropagation() if (!this.shown) return switch(e.keyCode) { @@ -210,12 +210,12 @@ this.next() break } + + e.stopPropagation() } , blur: function (e) { var that = this - e.stopPropagation() - e.preventDefault() setTimeout(function () { that.hide() }, 150) } diff --git a/js/tests/unit/bootstrap-typeahead.js b/js/tests/unit/bootstrap-typeahead.js index 455ed415b..96ea7c45f 100644 --- a/js/tests/unit/bootstrap-typeahead.js +++ b/js/tests/unit/bootstrap-typeahead.js @@ -114,15 +114,19 @@ $(function () { source: ['aa', 'ab', 'ac'] }) , typeahead = $input.data('typeahead') + , changed = false $input.val('a') typeahead.lookup() + $input.change(function() { changed = true }); + $(typeahead.$menu.find('li')[2]).mouseover().click() equals($input.val(), 'ac', 'input value was correctly set') ok(!typeahead.$menu.is(':visible'), 'the menu was hidden') + ok(changed, 'a change event was fired') typeahead.$menu.remove() }) -})
\ No newline at end of file +}) |
