Javascript 在动画滚动iphone/ipad后将焦点设置在输入字段上

Javascript 在动画滚动iphone/ipad后将焦点设置在输入字段上,javascript,jquery,iphone,ios,ipad,Javascript,Jquery,Iphone,Ios,Ipad,我试图在单击函数中的滚动事件之后将焦点设置在输入字段上。但它在iphone/ipad上不起作用,我不明白为什么 $('.scroll').on('click', function (e) { e.preventDefault(); $('html, body').animate({ scrollTop: $('#footer').offset().top }, 400, function () { $('#footer').find('in

我试图在单击函数中的滚动事件之后将焦点设置在输入字段上。但它在iphone/ipad上不起作用,我不明白为什么

$('.scroll').on('click', function (e) {
    e.preventDefault();
    $('html, body').animate({
        scrollTop: $('#footer').offset().top
    }, 400, function () {
        $('#footer').find('input').first().focus();
    });
});

首先,我认为您需要:
$('html,body')
而不是只为body设置动画的
$('html body')
。第二,点击事件是否被触发?是的,你是对的。现在我已经改变了这一点,但它在iphone/ipad上仍然不起作用。click事件触发,但focus事件不起作用。我不确定您是否可以将焦点转移到iphone上的特定元素,不幸的是,我无法测试它。可能通过延迟焦点:
$('#footer').find('input').first().stop().delay(500).queue(function(){$(this.focus();})
我尝试了你的代码,但没有成功。如果在没有动画函数的情况下使用focus事件,它可以正常工作,但是当我在动画回调中有focus事件时,它就不工作了。但是动画回调调用了吗?