假设我有 2 个简单的输入,例如:
I1: <input id='I1' type='text' value=''>
I2: <input id='I2' type='text' value=''>
和相应的JS,只有I1的值OK时I2才能获得焦点:
var ok = true;
$('#I1').on('blur', function(e) { ok = doSomeErrorChecking(); } );
$('#I2').on('focus', function(e) { if( !ok ) e.target.blur(); } );
只要“doSomeErrorChecking()”几乎立即返回 true/false,这就可以很好地工作。
我的问题是“doSomeErrorChecking()”必须调用一些 Ajax 东西并且不再返回 true/false,而是一个 Promise。
如何在这种情况下创建此“onFocus”功能?
最佳答案
您可以通过多种方式做到这一点,但一种简单的方法是在 I2
输入上添加禁用属性。当 Ajax
解析时,您可以从 I2
有点像
I1: <input id='I1' type='text' value=''>
I2: <input id='I2' type='text' value='' disabled>
你的脚本看起来像
$('#I1').on('blur', function(e) {
$.get("url", function(data, status){
//work on data
$("I2").prop("disabled", false)
});
} );
关于javascript - 根据之前的模糊禁用焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49951914/