为什么即使使用obj.focus(),这也不会在iPhone上显示键盘?

时间:2013-08-03 11:16:47

标签: javascript iphone mobile-safari

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();          
    });
 });

此Javascript 2是当URL包含mode=1时以及何时加载时将调用的操作。 这个脚本与上面几乎完全一样,工作正常 但有一点!!即使输入文本字段被聚焦,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();
    }
}

2 个答案:

答案 0 :(得分:1)

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

setTimout(function(){
    input.focus();
}, 1);

答案 1 :(得分:0)

如果您将网页添加到iOS主屏幕并从那里访问,

input.focus()将激活键盘

相关问题