默认情况下,我的表单的提交按钮是禁用的,当输入的电话号码正确时(即:当下面的 div 显示:“OK”)时,它会启用。
所以我这样写:
$(document).on('change', 'input', function() {
if ( document.getElementById('phone-number-validator').innerText === 'OK') {
$('.btn-default').prop('disabled', false);
}
});
事实是,只有在电话号码输入未聚焦时才会启用该按钮。所以问题是:如果用户在输入电话号码后按“enter”,或者在输入仍处于焦点状态时单击提交按钮,则不会提交表单,因为提交按钮仍处于禁用状态。
要启用该按钮,用户必须至少在输入框外单击一次。
我想更改我的代码,以便即使焦点仍在电话号码输入上,用户也可以提交表单。有办法吗?
最佳答案
change 事件只会在 focus out 之后触发,但您可以使用 keyup 或 keydown 事件处理程序来验证和启用提交按钮
$(document).on('keyup', 'input', function() {
if ( $('#phone-number-validator').text() === 'OK') {
$('.btn-default').removeProp('disabled');
}
});
关于javascript - 当输入仍然集中时,jquery 代码不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51929007/