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