我想将焦点设置到部分视图中的输入框之一
喜欢 。
并包括这一点
当页面第一次加载时,这工作正常。但是当我更改部分时,自动对焦不起作用。
我相信这是因为页面加载时的自动对焦工作,它如何在这里工作
我不确定如何解决页面重新加载的问题,但我认为我们可以在这里找到另一个解决方案。我曾经编写了一个小指令来有条件地将焦点设置在输入元素上。
这是代码:
function SetFocusDirective($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var model = $parse(attrs.setFocus);
scope.$watch(model, function (value) {
if (value === true) {
element[0].focus();
}
});
element.bind('blur', function () {
scope.$apply(model.assign(scope, false));
});
}
};
}
SetFocusDirective.$inject = ['$parse'];
app.directive('setFocus', SetFocusDirective);
以下是如何使用它:
<input type="text" ng-model="firstName" set-focus="autofocusFirstName">
Where autofocusFirstName
is a $scope
应该有一个布尔值的变量。
因此,每次加载部分内容时,其中的所有指令都会链接起来并完成其工作。如果您最终使用此指令,您应该能够实现您想要的目标。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)