diff options
author | billy gates <Jacobthornton@gmail.com> | 2012-12-08 02:16:51 +0400 |
---|---|---|
committer | billy gates <Jacobthornton@gmail.com> | 2012-12-08 02:16:51 +0400 |
commit | c362e726608388141d7c0fb420f98bac8ea3a4b1 (patch) | |
tree | 5be5fde06ec9c816a0cb8c8697a29bfa8ddf1da8 /js | |
parent | 66b70016d0f083098c32ad051173e6f52a6b2084 (diff) | |
parent | 6ec7c72e5b5152afb676c43ea57a51fb625f9ba2 (diff) |
Merge pull request #5862 from pmclanahan/issue-5806-typeahead-keyboard-nav
Fix issue with double move event firing in typeahead.
Diffstat (limited to 'js')
-rw-r--r-- | js/bootstrap-typeahead.js | 2 | ||||
-rw-r--r-- | js/tests/unit/bootstrap-typeahead.js | 19 |
2 files changed, 19 insertions, 2 deletions
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js index 9b123fb3fb..387fd2a6d4 100644 --- a/js/bootstrap-typeahead.js +++ b/js/bootstrap-typeahead.js @@ -217,7 +217,7 @@ } , keydown: function (e) { - this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) + this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27]) this.move(e) } diff --git a/js/tests/unit/bootstrap-typeahead.js b/js/tests/unit/bootstrap-typeahead.js index 0f7aed27dd..0cf26b3153 100644 --- a/js/tests/unit/bootstrap-typeahead.js +++ b/js/tests/unit/bootstrap-typeahead.js @@ -143,10 +143,19 @@ $(function () { equals(typeahead.$menu.find('.active').length, 1, 'one item is active') ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active") + // simulate entire key pressing event $input.trigger({ type: 'keydown' , keyCode: 40 }) + .trigger({ + type: 'keypress' + , keyCode: 40 + }) + .trigger({ + type: 'keyup' + , keyCode: 40 + }) ok(typeahead.$menu.find('li').first().next().hasClass('active'), "second item is active") @@ -155,6 +164,14 @@ $(function () { type: 'keydown' , keyCode: 38 }) + .trigger({ + type: 'keypress' + , keyCode: 38 + }) + .trigger({ + type: 'keyup' + , keyCode: 38 + }) ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active") @@ -202,4 +219,4 @@ $(function () { typeahead.$menu.remove() }) -})
\ No newline at end of file +}) |