簡體   English   中英

jQuery,javascript:更改鍵盤輸入值-將光標位置保持在末尾

[英]jquery,javascript: change input value on keyup - keep cursor position at the end but

大家好,我遇到了一個煩人的bug,在我看來,它並不是很友好。

用戶可以使用向上和向下箭頭鍵設置輸入字段的值。 焦點始終設置為輸入字段,因此用戶可以在使用箭頭鍵選擇值后進行鍵入。

我希望光標位置始終保持在輸入值的最后一個字符處,以便用戶在通過箭頭鍵選擇一個值后可以立即鍵入。 如果您按下向下箭頭鍵,則效果很好,因為在這種情況下,光標會自動跳到輸入框的末尾。

如果按向上鍵,情況恰好相反-光標跳到開頭。 我可以通過在stackoverflow上找到的“ setCursorPosition”腳本來解決該問題。

但是,盡管事實在起作用,但用戶無法真正“感覺並看到”它。 如果按向上箭頭鍵,光標仍顯示在輸入值的開頭。 一旦我開始鍵入,光標就會跳到末尾,並且效果很好。

在這里查看: http : //jsfiddle.net/3UHVY/1/

因此,我想知道您是否有解決方案,以便當我按下向上或向下箭頭鍵時,光標可能始終停留在輸入框的末尾,並且它對於用戶也是可見的。 現在,用戶可能認為他必須抓住鼠標並直接跳回輸入框以將光標設置到末尾。

您可以通過在按鍵啟動時返回false來抑制瀏覽器的默認按鍵向上行為:

if(e.keyCode === 38)
    return false;

http://jsfiddle.net/3UHVY/5/

或者,如果這不能滿足您的需求,則可以掛接keyUp事件並將光標移至輸入的末尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM