我有很多輸入字段,我需要重複填寫,所以我通常使用標籤來瀏覽表單。如何防止在輸入間切換時突出顯示所有文本?
字段具有需要預設的默認後綴值。當我用鼠標點擊輸入時,它會按預期工作。
但是,當我在輸入之間選項卡時,它會選擇所有文本,這在我的情況下是不受歡迎的行爲。
看一看這樣的:
function setCaretPosition(elem, caretPos) {
if (elem == null) return;
if (elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
} else if (elem.selectionStart) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
} else {
elem.focus();
}
}
$(document).ready(function() {
$('input').focus(function() {
setCaretPosition(this, 0);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="input1" value=" km/h" />
<input type="text" id="input2" value=" kg" />
- 當你點擊裏面任意輸入,插入符年初設定。
- 當你標籤輸入之間沒有設置插入符號。相反,整個輸入內容是重點。
如何在使用標籤導航時防止文本輸入對其內容進行重點處理?
我更喜歡沒有使用setTimeout
(如果有可能的話)的答案。
可能重複[有沒有一個函數來取消所有使用JavaScript的文本?](http://stackoverflow.com/questions/6562727/is-there-a-function-to-deselect-all-text-使用-javascript) – imtheman
如果你認爲它是重複的,爲什麼你不投票結束重複作爲一個原因? –
你確定點擊時它正在工作嗎?單擊時,脫字符號不會移到位置0! –