拥有<input name="foo" id="foo">
和更改处理程序,模糊由触发的change
输入
$('#foo').on('change', function(event) {
$(document.body).append('<br>change called');
var $target = $(event.target);
if ($target.is(':focus')) {
$(document.body).append('<br>input still in focus - calling blur');
$target.blur();
}
});
https://codepen.io/ciekawy/pen/oLqdNG?editors=1111
在Safari呼叫blur
上会触发其他change
(而在Chrome上则不会)。我没有找到任何合理的解决方案来处理这种行为。我宁愿不使用计时器或标志来阻止第二次进入。