收藏
回答

input 输入后修改 光标自动跳回尾端

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug input 客户端 iOS 6.6.6 1.9.9

用户希望输入12345678,但是错输成12ab5678,此时希望把光标定位到b后面(12ab|5678)删除ab,重新输入34,安卓真机是可以的,ios真机上发现有问题:用户删除b,光标就自动回到尾端(变成12a5678|)

最后一次编辑于  2018-04-27
回答关注问题邀请回答
收藏

18 个回答

  • 杜大乐
    杜大乐
    2020-11-12

    最无奈的办法是显式传入 cursor 属性并且在必要的时候手动修改一下 cursor,但是这个方法真的非常非常不优雅,同样希望小程序官方可以优化这里的交互,不然我可能需要手写一个假输入框来替代原生的

    2020-11-12
    有用
    回复
  • Sam
    Sam
    2018-04-27

    是bindinput 事件 setDate渲染页面造成的,解决方法:只把值保存下来,不用setData


    2018-04-27
    有用
    回复
  • Sam
    Sam
    2018-04-27

    包括textarea也存在同样问题

    2018-04-27
    有用
    回复
  • Sam
    Sam
    2018-04-19

    可以直接复制上面贴出的代码

    2018-04-19
    有用
    回复
  • 衰啊衰คิดถึง
    衰啊衰คิดถึง
    2018-04-19

    iOS 下仅支持 UTF8 编码格式

    2018-04-19
    有用
    回复
  • 衰啊衰คิดถึง
    衰啊衰คิดถึง
    2018-04-19


    看不了

    2018-04-19
    有用
    回复
  • Sam
    Sam
    2018-04-18



    wxml.........................................................................


    <input  maxlength="11" bindinput="tel" placeholder="请输入手机号"  value="{{tel}}" />


    js...................................................................................


      tel:function(e){ // 手机号码输入

      let tel=e.detail.value;

            this.setData({tel:tel});

      },


    2018-04-18
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-04-18

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-04-18
    有用
    回复
  • 2018-04-17

    哈哈,感谢,我去试下,有ios在具体测试

    2018-04-17
    有用
    回复
  • You can you up
    You can you up
    2018-04-17

    bindinput函数里面 this.data.name = "zhangsan"

    这么写应该没事setData会渲染页面导致光标跳

    2018-04-17
    有用
    回复

正在加载...

登录 后发表内容