收藏
回答

苹果平台下 textarea 中光标位置的表现奇怪,不合逻辑

问题模块
API和组件

分别在苹果和安卓下进行了测试,发现对于 input 和 textarea 中的光标位置,这俩平台表现不大一致。


在苹果下,在 input 和 textarea 的 bindinput 事件中都能获取到 cursor 属性,但微信只提供了 input 中控制光标位置的途径,而且只能在 bindinput 事件处理函数中返回一个 value 和 cursor 组成的对象进行控制,不能直接设置 cursor 属性。


安卓下,在input 和 textarea 的 bindinput 事件中并没有 cursor 属性,但是 input 确实可以在 bindinput 事件处理函数中返回光标位置。


微信在介绍 textarea 组件时,不建议开发者改变 textarea 中的内容,但是有时候确实也需要,而且微信也没有阻止通过设置 value 属性的方法改变 textarea 组件里的内容。


因此,微信是不是可以考虑也提供在textarea中控制 cursor 位置的途径。


无论如何吧,目前微信的这种处理逻辑有一个问题:在苹果平台里,由于 textarea 带有 cursor 属性,虽然不能控制,但导致一个很奇怪的现象,当在 textarea 中间的位置编辑内容时,每完成一次输入,光标就会跳到最后,很不友好。在安卓平台下没有 cursor 属性,反而没有问题。

最后一次编辑于  2017-05-06
回答关注问题邀请回答
收藏