禁用输入,而绑定到更改的函数执行

时间:2015-07-26 19:49:41

标签: javascript jquery internet-explorer internet-explorer-11

我有一个动态创建的大型表单,希望防止在绑定到更改的函数执行时更改输入值。下面的代码适用于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);
});

jsfiddle

0 个答案:

没有答案