我有一个 Controller ,
更改条形码扫描仪的“then”
中的一些值。
首先它设置代码,然后设置一个“disabled”
变量,然后聚焦输入。
.then(function (barcodeData) {
// Success! Barcode data is here
$scope.selectProdotto = barcodeData;
$scope.txtDisabled = false;
var pageElements = document.querySelectorAll('input[type=number], input[type=text], textarea');
var first_element = pageElements[1];
first_element.focus();
});
我想要关注的输入是;
<input class='input' type='number' ng-disabled="txtDisabled" />
现在的问题是我更改后输入仍然被禁用
$scope.txtDisabled = false;
所以当我执行 .focus()
时它会失败。
我的函数完成后,我的输入已正确启用。
所以我问变量何时应用于 DOM? 我如何等待输入准备好并启用焦点?
最佳答案
你试过吗
.then(function (barcodeData) {
// Success! Barcode data is here
$scope.selectProdotto = barcodeData;
$scope.txtDisabled = false;
$scope.$apply();
var pageElements = document.querySelectorAll('input[type=number], input[type=text], textarea');
var first_element = pageElements[1];
first_element.focus();
});
关于javascript - Angular DOM 修改时机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41696371/