input輸入框的光標定位的問題
在給input輸入框賦值的時候,或者在我之前寫模擬下拉框js組件的時候,時不時會碰到光標的小bug問題,比如鍵盤中的 上移或者下移操作,在瀏覽器中光標會先移到最前端,當值賦值到輸入框內,光標立刻會移到值的后面的bug,使人看起來很不爽的感覺;或者現在的input的框給他value值,然后觸發focus點擊事件,光標會一直在最前端;代碼如下:
<input type="text" value="hello world" id="input"/> var input = document.getElementById('input'); input.focus();
效果如下:
但是呢,我們需要將光標移動到文字的最右邊,為止我們需要做如下幾件事情;
- 調用focus事件。
- Value賦值為空。
- 之前保存下拉的input的值再賦值一下即可。
如下JS代碼;
var input = document.getElementById('input'); var val = input.value; input.focus(); input.value = ''; input.value = val;
實現的效果如下: