SUI Mobile框架开发,android、ios表单遇到的问题

1、页面添加区域滚动,滚动区域内元素事件无效问题

解决方法:

<script type="text/javascript" charset="utf-8">
    $(".page-current").scroller({
            type: 'js'
        });
</script>

把滚动初始化放到自己添加的事件之前执行。

例如:给滚动区域内一个ID为name的input添加click事件,当页面刚加载完,首先执行了,给当前input绑定了事件,然后执行了scroller区域滚动初始化高度时,会把当前页面的滚动区域重写(PS:这种说法来源于网络,貌似页面加载后有短暂刷新动作【非浏览器页面带进读条刷新】,页面重构闪一下的感觉),这时,当你点击#name 的input元素,并不会触发click事件,为什么呢???

原因:此时的#name的Input是scroll初始化后的input元素,非当时页面刚加载完的input元素。不是同一个元素。

在用Iscroll.js和MUI框架的区域滚动时,也遇到了相同的问题。解决方法是:给初始化滚动区域函数外加200+ms的定时器

 2、android环境下,输入表单键盘弹起挡住输入框问题。

解决方法:监听当输入框获取焦点,键盘弹起时,如果不在可视范围内,则将输入框滚动到可视区域。(滚动整个区域,也可单独对当前input,fixed定位) 

 3、表单提交时,错误提示固定位置,错误信息不在可视区域,需提交时,让错误信息和input显示在可视区域。

解决方法:类似问题2,判断错误位置,是否在可视区域,如果不在,则滚动区域。

原文地址:https://www.cnblogs.com/q460021417/p/6008990.html