我正在创建一个使用angularJS的Web应用程序,我有一个jqueryui datepicker,看起来像这样
<input type="text" ng-model="rc.reg.mddoj" ng-blur="rc.dojChange()" title="Date Of Joining" placeholder="Date Of Joining" class="form-control" datepicker />
以及在我的控制器中
r.dojChange = function () {
var currentTarget = event.target;
setTimeout(function () { r.reg.mddoj = currentTarget.value; }, 500);
}
执行完此操作后,我想将焦点设置到下一个控件上
<input type="text" ng-model="rc.reg.mdemail" title="EmailID" placeholder="EmailID" class="form-control validatingData" />
如何从angularJS控制器设置对元素的控制。
我只想将焦点放在指令中的元素上,并想在我的r.dojChange function()
中调用该指令
答案 0 :(得分:0)
要聚焦AngularJS代码中的元素,必须执行以下操作:
$timeout(function() {
const elementToFocus = $element[0].querySelector(<SELECTOR TO YOUR ELEMENT>);
if (elementToFocus) {
elementToFocus.focus();
}
}, 0);
答案 1 :(得分:0)
如果您使用的是<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px"></div>
,则必须使用setTimeout
来确保对范围所做的更改得到处理。或者,您可以使用$scope.$apply()
:
$timeout