收藏
回答

input 元素 type="nickname" 在某些机型上不能触发回调函数?

大佬们好:

我在小程序中通过

<input id="nickname-input" type="nickname" placeholder="请输入用户昵称" bind:blur="inputFinished" model:value="{{nickname}}" bindinput="inputFinished" style="width:542rpx;height:77rpx;"/>

获取用户昵称,在大部分机型上都可以正常工作,但是在华为nova9pro(系统HM3.0, 微信版本8.0.42)上一直都不能触发上面的 inputFinished 函数(bindblur和bindinput两个都不能)

为了解决这个问题,我还特地增加 id,然后通过

      const query = wx.createSelectorQuery();
      query
        .select("#nickname-input")
        .fields({
          properties: ["value"],
        })
        .exec((res) => {
          this.setData({
            nickname: res[0].value,
          });
        });
      log.dbg("read nickname:"this.data.nickname);

主动去读输入的昵称,然而还是读不到。。。

请问大佬们,这是什么原因啊,我实在想不通还有什么可以尝试去解决这个问题的方法了。。。

回答关注问题邀请回答
收藏

1 个回答

  • Xx
    Xx
    04-10

    信息更新:

    点击输入框后,如果点击键盘上面的“用微信昵称”就可以正常触发inputFinished函数,如果通过键盘输入就不行。

    04-10
    有用 1
    回复 1
    • Xx
      Xx
      04-10
      问题已解决!
      有些奇葩手机根本不触发bindinput,bindblur函数,连通过id去读都读不回来,只能通过 bindconfirm="handleConfirm"; 获取到input的值。。。

      详情请参考代码片段:https://developers.weixin.qq.com/s/CjOKfimI7VZY
      04-10
      回复
登录 后发表内容