我有一个<input id="inp" type="text">用户写入,有时使用字典中的建议.当选择建议时,我做:
var input = $('#inp');
input.val(input.val()+suggestedText+' ');
input.focus(); // that is because the suggest can be selected with mouse
Run Code Online (Sandbox Code Playgroud)
一切都很好,但是当添加一个建议使得结果input.val()太长而无法适应编辑字段时,光标位于字符串的末尾(这很好),但只有字符串的开头在编辑中可见字段,因此光标也被隐藏.
一旦按下一个键(一个改变值的键),"滚动"就会到达隐藏开头的字符串的末尾...如何自动触发此行为,而不必按键?
我在这里找到了一个解决方案- 但由于整个输入体验发生了变化,这并不好......
小智 0
要实现此功能,您需要在设置值之前设置 focus() 。您可以通过多种方式解决此问题,例如:
input.focus(); // that is because the suggest can be selected with mouse
var input = $('#inp');
input.val(input.val() + suggestedText + ' ');
Run Code Online (Sandbox Code Playgroud)
或者这个:
function changeValue(element, newValue) {
element.focus();
element.val(element.val() + newValue + ' ');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1320 次 |
| 最近记录: |