从昨天开始,我试图做到如下。我有一个ui-select
元素,在用例中,每当页面加载时,它都需要具有焦点。正如我在documentation中所看到的,可以在指令中设置自动对焦,但是我真正需要的是每当我单击按钮时就将焦点交换到输入文本,反之亦然,如果输入文本焦点在ui-select上再次。简单地将焦点从ui-select
更改为输入文本时,这不是问题:
$("#txt-test").focus();
但在另一种情况下,简单地戴上将不起作用:
$("#cbx").focus();
其中
#cbx
是ui-select
的ID。无论我如何尝试,它都永远不会成为焦点。您可以在此处看到我要完成的工作的示例:jsFiddle
有任何想法吗?问候。
最佳答案
这应该工作:
$scope.clickButton = function(){
var result = document.getElementById("cbx");
var uiSelect = angular.element(result).controller('uiSelect');
uiSelect.focusser[0].focus();
uiSelect.open = true;
uiSelect.activate();
}
jsFiddle