我用delay()
创建了一个表单:
$('form').delay(200).fadeIn().children('input').focus();
最后的focus()
不工作,甚至抛出控制台错误。为什么?
注:我知道选择器不是问题,因为.children('input').addClass('monkey')
工作得很好
显然我不能专注于输入,直到delay
结束。以下命令使其按预期工作:
$('form').delay(200).fadeIn();
setTimeout(function(){
$('form input').focus();
},200);
让setTimeout
的延迟大于或等于delay()
Delay
只适用于效果,使用回调来设置焦点
$('form').delay(200).fadeIn(function() {
$(this).children('input').focus();
});
看到小提琴