我在我的js中有这一行:
$('input')[$('input').index(this)+9].focus();
我想专注于下一个元素但是当这行执行时我会聚焦和下一个元素,但我有这个错误:
错误:[$ rootScope:inprog] $申请已在进行中 http://errors.angularjs.org/1.3.6/ $ rootScope / inprog?P0 =%24apply 在REGEX_STRING_REGEXP(angular.js:63) 在beginPhase(angular.js:14706) 在Scope。$ get.Scope。$ apply(angular.js:14450) 在link.setTemplate(mtxCalendar.js:23) 在link.initTemplate(mtxCalendar.js:28) 在HTMLInputElement。 (mtxCalendar.js:62) 在HTMLInputElement.jQuery.event.dispatch(jquery.js:4409) 在HTMLInputElement.jQuery.event.add.elemData.handle(jquery.js:4095) at Object.jQuery.event.trigger(jquery.js:4324) 在HTMLInputElement。 (的jquery.js:4875)
scope.pressButton = function (val) {
if (val === 'cross') {
$('#ui-datepicker-div').hide();
} else {
if($.datepicker._lastInput.className.split(' ')[0] === 'champs_returnDate') {
$('#ui-datepicker-div').hide();
} else{
if(!scope.$$phase) {
$('input')[$('input').index(this)+9].focus();
}
}
}
};
答案 0 :(得分:0)
您需要通过执行$ timeout()
来延迟执行$timeout(function(){
$('input')[$('input').index(this)+9].focus();
})