我编写了一个自定义指令来验证我的表单字段。当满足某些条件时(即它是脏且有效的),我想将焦点自动设置到下一个输入元素。这是我的用户的要求,以便他们可以最有效地浏览表单。
简化的指令如下所示:
directive('custom', ['$parse', function($parse) {
return {
restrict: 'A',
require: ['ngModel', '^ngController'],
link: function(scope, element, attrs, ctrls) {
var model=ctrls[0], form=ctrls[1];
scope.next = function(){
return model.$valid
}
scope.$watch(scope.next, function(newValue, oldValue){
if (newValue && model.$dirty){
???
}
})
现在我的问题是:我如何识别 - 下一个输入元素(下一个兄弟元素)或可能通过 tabindex - 并在不使用 Jquery 的情况下专注于它?
对我来说,目前尚不清楚如何在没有 Jquery 的情况下从可用的“范围”或“元素”属性中获取下一个输入元素;并且 JQlite 没有“焦点”方法。基本上,我需要一个有效的替代品???在我的代码中。
非常感谢任何帮助。谢谢于尔根