基本上可以停止一个元素,在我的情况下,button
元素可以在javascript中获得焦点吗?
我想要实现的是一个AngularJS指令,当它获得焦点时会显示许多按钮/ UI元素。使用ng-focus
和ng-blur
指令很容易实现,但是当我尝试单击任何按钮时,按钮获得焦点,因此div不再具有焦点,触发ng-blur
并且按钮被隐藏。
我希望按钮保持可见,而指示元素具有焦点并且可以点击。
Here is a Plunker显示此行为。
提前致谢。
答案 0 :(得分:6)
我认为不使用任何可聚焦元素(例如<button>
和<a>
锚标记会更简单。您可以使用不可聚焦的div并将其设置为按钮,在该div处绑定您的ng
事件,它应该可以解决您的问题。您获得了不可聚焦的优势,仍然可以将您的事件附加到该特定元素中。
focusableDiv 指令
变化
<button class="btn" ng-click="add()" ng-show="isFocused">Action</button>
到
<div class="btn btn-primary" ng-click="add()" ng-show="isFocused">Action</div>
注意:上述更改假设您使用bootstrap-css设置<div>
按钮的样式
请参阅此plunker update
答案 1 :(得分:0)
你知道....你不必实际点击按钮。
'<button class="btn" ng-focus="add()" ng-show="isFocused">Action</button>' +