Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.4k views
in Technique[技术] by (71.8m points)

javascript - define cursor position in form input field

I have several input fields with default values. I defined tabindexes to jump from field to field with the tab-button. The problem is that when I get to a field the whole text gets selected, and it is replaced if I start to type. I would like to set the cursor position to the end of the pre-filled text. How can I do this ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

By defining onfocus event on every node. And setting caret position to the end. Because of the default focus/click behavior, setting cursor should be deferred.

function setCursorAtEnd(node){
    setTimeout(function(){
         setCursor(node,node.value.length);
    },10);
}

<input onfocus="setCursorAtEnd(this)" value="bla"/>

The setCursor function you can find in this question: Set cursor at a length of 14 onfocus of a textbox


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...