https://github.com/corejavascript/typeahead.js/issues/33 #34
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For my purposes this change fixes the issue. Although I have changed 3 files, it is the same change in all three places.
I honestly do not have a full understanding of the surrounding code, so this is very much a change that should be reviewed. But for my project, this works much better. The undesired behaviour is described in the bug description ( #33 ) and the new behaviour is that
(a) when the whole exact string is typed in (e.g. a 4 digit invoice number in the case of my application) and then tab is pressed, the autocomplete event will now be fired and hence the bound function will be called with the correct, associated data from bloodhound.
(b) when less than the whole string is typed in (e.g. 3 digits of an invoice number) and then tab is pressed, the autocomplete event will complete the selection as before, but will also move focus out of the component and close the menu. This is as I want it.