Add/remove 关注 ui-select
Add/remove focus in ui-select
从昨天开始,我一直在努力完成以下工作。我有一个 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();
}
从昨天开始,我一直在努力完成以下工作。我有一个 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();
}