javascript - Famo.us:如何将表单字段放入适用​​于 iOS 和 Safari 的 ScrollView 中?

标签 javascript mobile-safari famo.us

我正在尝试使用 Famous ScrollView 为移动 Web 应用程序创建滚动表单。但是,当键盘处于事件状态时滚动时,iOS 会出现严重的显示错误。无论使用InputSurface,都会发生这种情况或嵌入 <input> directly in the Surface HTML .

实现支持 Mobile Safari 的可滚动输入表单的最佳方式是什么?

(下面复制了 JSFiddle 代码;要查看该错误,请点击文本字段,然后在键盘处于事件状态时尝试滚动。)

Famous.loaded(function () {
    var Engine = Famous.Core.Engine;
    var Surface = Famous.Core.Surface;
    var Scrollview = Famous.Views.Scrollview;
    var Transform = Famous.Core.Transform;

    var mainContext = Engine.createContext();

    var scrollview = new Scrollview();
    var surfaces = [];

    scrollview.sequenceFrom(surfaces);

    var inputhtml = '<div><input type="text" value="test: edit me" /></div>';

    for (var i = 0, temp; i < 40; i++) {
        temp = new Surface({
            content: inputhtml,
            size: [undefined, 200],
            properties: {
                backgroundColor: "hsl(" + (i * 360 / 40) + ", 100%, 50%)",
                lineHeight: "200px",
                textAlign: "center"
            },
            index: i
        });

        temp.pipe(scrollview);
        surfaces.push(temp);
    }
    mainContext.add(scrollview);
});

最佳答案

此代码似乎通过强制重绘文本区域来修复此问题。

<style>
    input.force-redraw {
      text-shadow: rgba(0,0,0,0) 0px 0px 0px;
    }
</style>
<script>
    setInterval(function(){ 
        $('input').toggleClass('force-redraw');
    }, 10);
</script>

更新的 fiddle : http://jsfiddle.net/byC98/87/ http://jsfiddle.net/byC98/88/

不幸的是,这更多的是一种黑客攻击,而不是修复:(

旧笔记本电脑上的 CPU 利用率: enter image description here

这是来自 https://github.com/cubiq/iscroll/issues/178#issuecomment-11941817 的 rooby 代码的修改版本

关于javascript - Famo.us:如何将表单字段放入适用​​于 iOS 和 Safari 的 ScrollView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28686467/

相关文章:

css - Safari 手机 : Toggle contents on touch

javascript - 有没有办法调试 famo.us 应用程序中的渲染问题?

javascript - 在javascript中的window.open之前暂停

javascript - Intern JS - 测试定义之前的异步 Hook ?

javascript - 变量未在弹出错误中定义,但我已经定义了它

javascript - 如何在 Mobile Safari 上使用 Omniture 跟踪退出链接?

javascript - 纯动态页面——是否可行

crash - Webkit页面刷新时出现内存泄漏?

ios - 我可以仅使用 famo.us 构建 iOS 或 Android 应用程序吗?

javascript - 围绕中心圆分布圆