收藏
回答

input聚焦时改变位置光标和占位文字残留在原位


wxml

<view class="test">
    <view class="header {{focused ? 'focused' : ''}}">
        <input placeholder="输入框" bindfocus="focusHandler" bindblur="blurHandler"/>
    </view>
</view>

wxss

page {
    height: 100%;
}
 
.test {
    height: 100%;
}
 
.header {
    padding: 50rpx;
    background-color: #ccc;
    transition: padding 0.3s ease;
}
 
.header.focused {
    padding: 0 50rpx;
}

js

Page({
    data: {
        focused: false
    },
 
    focusHandler() {
        this.setData({
            focused: true
        });
    },
 
    blurHandler() {
        this.setData({
            focused: false
        });
    }
});

必须使用 transition 才能重现这个 bug。

iOS 和 Android 真机均可重现,模拟器中无法重现。


最后一次编辑于  2016-11-25
回答关注问题邀请回答
收藏

4 个回答

  • 工号 9527
    工号 9527
    2016-11-21

    因为input是一个原生组件,使用css动画时,无法计算到input的真实位置,暂时还没有解决方案

    2016-11-21
    有用
    回复
  • 工号 9527
    工号 9527
    2016-11-21

    谢谢反馈,确实有问题

    2016-11-21
    有用
    回复
  • ff
    ff
    2017-05-27

    我没有使用css动画,当input聚焦时改变位置光标和占位文字残留在原位 ,只是改变了父盒子距离顶部的margin-top值,也出现了这种问题。


    2017-05-27
    有用
    回复
  • 田_田
    田_田
    2017-04-20

    +1,求早日解决。

    2017-04-20
    有用
    回复
登录 后发表内容