safari – iOS iPad打开键盘时固定位置休息

当我单击“搜索表单”文本框字段时,标题上的固定位置中断。它只是从页面的顶部分离(因为它固定在那里),并在虚拟键盘打开时从页面的中间开始浮动。

正常:

破碎:

最佳答案
我真的很喜欢这个解决方案(http://dansajin.com/2012/12/07/fix-position-fixed/)。我把它打包成一个小的jQuery插件,所以我可以:

>设置哪个父类获取类
>设置这适用于哪些元素(不要忘记“textarea”和“select”)。
>设置父类名是什么
>允许它被链接
>允许它被多次使用

代码示例:

$.fn.mobileFix = function (options) {
    var $parent = $(this),

    $(document)
    .on('focus', options.inputElements, function(e) {
        $parent.addClass(options.addClass);
    })
    .on('blur', options.inputElements, function(e) {
        $parent.removeClass(options.addClass);

        // Fix for some scenarios where you need to start scrolling
        setTimeout(function() {
            $(document).scrollTop($(document).scrollTop())
        }, 1);
    });

    return this; // Allowing chaining
};

// Only on touch devices
if (Modernizr.touch) {
    $("body").mobileFix({ // Pass parent to apply to
        inputElements: "input,textarea,select", // Pass activation child elements
        addClass: "fixfixed" // Pass class name
    });
}

编辑:删除不必要的元素

转载注明原文:safari – iOS iPad打开键盘时固定位置休息 - 代码日志