我有一个按钮,它使用angular-ui-bootstrap下拉列表和一个vanilla文本输入。页面加载后,我可以在输入框中自由输入文本。但是,单击按钮后,我无法再对焦于输入框:焦点不断跳回到下拉按钮。
如何解决此问题,或者我遇到了错误(我应该提出问题)?
这是一个直接使用angular-ui-bootstrap代码的简单示例:
https://plnkr.co/edit/JbXo3WfLgrHoXcyC2If4?p=preview
<div ng-controller="DropdownCtrl">
<!-- Single button -->
<div class="btn-group" uib-dropdown is-open="status.isopen">
<button id="single-button" type="button" class="btn btn-primary" uib-dropdown-toggle ng-disabled="disabled">
Button dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button">
<li role="menuitem"><a href="#">Action</a></li>
<li role="menuitem"><a href="#">Another action</a></li>
<li role="menuitem"><a href="#">Something else here</a></li>
<li class="divider"></li>
<li role="menuitem"><a href="#">Separated link</a></li>
</ul>
</div>
<input type="text">
</div>
FWIW,这似乎是违规函数调用:https://github.com/angular-ui/bootstrap/blob/7a1d54c8c34265e0e1b7ac1b38f58b5867a2af49/src/dropdown/dropdown.js#L108
答案 0 :(得分:4)
看起来你发现了一个已经发现的错误。有人提出了ui-dropdown重点问题...请查看此链接:https://github.com/angular-ui/bootstrap/issues/6372以及描述您的问题的链接:https://github.com/angular-ui/bootstrap/issues/6364