我的用例相当简单。我使用typeahead指令作为搜索框,并且想要在输入时手动清除/隐藏其下拉菜单(并且您没有选择任何内容) - 就像谷歌那样。
P.S。清除下拉列表时,我的搜索框中的文本需要保持不变
答案 0 :(得分:3)
您必须将typeahead元素包装在表单中。如果您这样做,预先输入将提交表格。如果添加ng-submit指令,则可以将所需的行为放在那里。
<form ng-submit="search(query)">
<input type="text" ng-model="query"
typeahead="foo as foo for foo in bars"
typeahead-on-select="onSelect($item)"
typeahead-focus-first="false"
/>
</form>
使用版本0.12.0的angular-bootstrap测试。请参阅相关问题中的评论:https://github.com/angular-ui/bootstrap/pull/2916:
预期的行为是,当从输入点击输入并且没有任何焦点时,提交外部表单
答案 1 :(得分:0)
仅执行beow代码将关闭UI Typeahead列表/下拉列表,除非它不会损害您的应用程序:
$('body')。click();