1

Javascript 1 是单击链接时将调用的操作。
它工作得很好,它会自动设置值,并聚焦元素。
当然,iPhone 的虚拟键盘出现是因为输入文本字段被聚焦。

Javascript 1

jQuery(document).ready(function () {
    $(document).on('click', 'a#user', function()  {
        $(".box#input").val($(this).attr('value')); 
        var input = $(".box#input");
        $(document).scrollTop(input .offset().top - 45);
        input.focus();          
    });
 });

mode=1此 Javascript 2 是当 URL 包含和加载时将调用的操作。该脚本与上面几乎相同并且工作正常。
但是一件事!!即使输入文本字段获得焦点,iPhone 的键盘也不会出现。
真的很奇怪……为什么?我该如何解决这个问题?

Javascript 2

window.onload = function(){
    if(document.URL.indexOf("mode=1") >= 0){ 
        var input = $(".box#input");
        $(document).scrollTop(input .offset().top - 45);
        var v = input.val();
        input.val('');
        input.focus().val(v);
        input.focus();
    }
}
4

2 回答 2

1

通常,除非有某种用户交互(例如,单击输入字段),否则键盘不会显示。但是,如果您使用超时,您可以像上面那样以编程方式执行此操作。

setTimout(function(){
    input.focus();
}, 1);
于 2013-08-03T12:15:05.577 回答
0

如果您将网页添加到 iOS 主屏幕并从那里访问它, input.focus() 将激活键盘

于 2014-05-16T16:24:34.187 回答