Howto Place cursor at beginning of textarea

2020-05-27 11:24发布

问题:

I've found a couple resources for how to place the cursor in a textarea at the end of the text, but I can't sort out a simple way to make it appear at the beginning.

I'm prepopulating the textarea with some text and just want to make it easier on the users.

回答1:

Pass a reference to your textarea to this JS function.

function resetCursor(txtElement) { 
    if (txtElement.setSelectionRange) { 
        txtElement.focus(); 
        txtElement.setSelectionRange(0, 0); 
    } else if (txtElement.createTextRange) { 
        var range = txtElement.createTextRange();  
        range.moveStart('character', 0); 
        range.select(); 
    } 
}


回答2:

The jQuery way:

$('textarea[name="mytextarea"]').focus().setSelectionRange(0,0);


回答3:

Depending on your needs, a simpler Javascript version is:

document.querySelector("textarea").focus(); //set the focus - cursor at end
document.querySelector("textarea").setSelectionRange(0,0); // place cursor at start

You can't just string them together either, to get rid of the double querySelector - not sure why.



回答4:

Removed the spaces between the tags
like this:

<textarea rows="5" cols="50" name="extra"></textarea>