在input组件绑定bindinput事件后,苹果自带的输入法,用户输入中文的拼音时,每一个字母都触发了事件,而不是等中文字打出来后触发。比如:我在搜索框中想搜索“美食”,在字打完后自动触发搜索,不需要点击按钮。但是在我输入“meishi”拼音的每一个字母时都会触发搜索,这不是我想要的。虽然影响不是很大,但对体验还是有影响的。
请问如何在输入“美食”中文完成后才触发搜索?
bindinput 的detail中有一个 cursor 的属性,返回光标位置,可以根据 此次输入时的cursor对比上一次的cursor 来判断
bindinput EventHandle 键盘输入时触发,event.detail = {value, cursor, keyCode},keyCode 为键值,2.1.0 起支持,处理函数可以直接 return 一个字符串,将替换输入框的内容。

在使用iOS设备的微信小程序中,bindinput事件在用户输入中文拼音时会频繁触发,而非等待完整的汉字输入完成。本文探讨了如何通过比较光标位置来判断输入是否完成,从而优化用户体验。
1618





