我有一个动态创建的大型表单,希望防止在绑定到更改的函数执行时更改输入值。下面的代码适用于Safari,但在IE11中禁用输入元素会导致失去焦点,因此它会取消将来的更改事件。因此,不会触发其他所有变更......
OR是否有更好的方法来实现我正在寻找的功能?
for (var i = 0; i < 4; i++) {
$('ul').append("<input type='text' id='"+i+"' class='required require'>");
}
$('body').on('change','.required', function(evt) {
ENABLED = $('input').not(':disabled');
ENABLED.prop("disabled", true);
$('#results').append($(this).attr('id')+' - '+evt.type+'<br/>');
if ($(this).val() != '') { $(this).removeClass('require'); }
else { $(this).addClass('require'); }
//more functions that can take some time to complete...
ENABLED.prop("disabled", false);
});