C'è un modo per impostare il cursore alla fine in un tag TEXTAREA? Sto usando Firefox 3.6 e non ne ho bisogno per funzionare in IE o Chrome. JavaScript è ok ma sembra che tutte le risposte correlate qui usano l'evento onfocus(), che sembra essere inutile perché quando l'utente fa clic in qualsiasi punto all'interno di textarea, Firefox imposta la posizione del cursore a tale posizione. Ho un lungo testo da visualizzare in una textarea in modo che mostri l'ultima porzione (rendendo più facile aggiungere qualcosa alla fine).Come impostare il cursore alla fine in TEXTAREA? (non usando jQuery)
5
A
risposta
9
Ci possono essere molti modi, ad es.
element.focus();
element.setSelectionRange(element.value.length,element.value.length);
1
var t = /* get textbox element */ ;
t.onfocus = function() {
t.scrollTop = t.scrollHeight;
setTimeout(function(){
t.select();
t.selectionStart = t.selectionEnd;
}, 10);
}
Il trucco sta usando il setTimeout di modificare l'inserimento di testo (carati) posizione dopo il browser è fatto la gestione dell'evento di messa a fuoco; altrimenti la posizione verrebbe impostata dal nostro script e quindi immediatamente impostata su qualcos'altro dal browser.
5
E 'passato molto tempo da quando ho usato javascript senza prima ricerca di una soluzione jQuery ...
Detto questo, il tuo approccio migliore utilizzando JavaScript sarebbe per afferrare il valore attualmente nella textarea quando viene messo a fuoco e imposta il valore della textarea sul valore afferrato. Questo funziona sempre in jQuery come:
$('textarea').focus(function() {
var theVal = $(this).val();
$(this).val(theVal);
});
in JavaScript pianura:
var theArea = document.getElementByName('[textareaname]');
theArea.onFocus = function(){
var theVal = theArea.value;
theArea.value = theVal;
}
potrei sbagliarmi. Un po 'arrugginito
3
Ecco una funzione per quel
function moveCaretToEnd(el) {
if (typeof el.selectionStart == "number") {
el.selectionStart = el.selectionEnd = el.value.length;
} else if (typeof el.createTextRange != "undefined") {
el.focus();
var range = el.createTextRange();
range.collapse(false);
range.select();
}
}
2
textarea.focus()
textarea.value+=' ';//adds a space at the end, scrolls it into view
1
(this.jQuery || this.Zepto).fn.focusEnd = function() {
return this.each(function() {
var val = this.value;
this.focus();
this.value = '';
this.value = val;
});
};
Problemi correlati
- 1. jQuery Set Textarea cursore alla fine del testo
- 2. Impostare cursore alla fine dopo focalizzazione CKEditor
- 3. Android come impostare l'EditText cursore alla fine del suo testo
- 4. Come si sposta a livello di codice il cursore di un Flex TextArea fino alla fine?
- 5. Sposta il cursore alla fine di EditText?
- 6. JQuery non .Append aggiungendo alla textarea dopo il testo modificato
- 7. Come spostare il cursore alla fine dell'entità contenteditable
- 8. Come si forza il cursore alla fine di un NSTextField?
- 9. Imposta il cursore alla fine del div Contentedable
- 10. Impostare la posizione cursore/cursore alla fine del valore stringa WPF textbox
- 11. Come impostare un'immagine del cursore tramite jQuery?
- 12. Inserire il valore in TEXTAREA dove il cursore era
- 13. Ctrl + Invio jQuery in TEXTAREA
- 14. Come impostare il mio xlabel alla fine asse X
- 15. Come impostare la larghezza della textarea usando tinymce?
- 16. Come cambiare il cursore dal puntatore al dito usando jQuery?
- 17. Come posizionare il cursore alla fine del testo su una casella di testo mascherata?
- 18. Come andare alla fine del file in vim mantenendo la colonna corrente sotto il cursore?
- 19. Arresta il cursore dal salto alla fine del campo di immissione in javascript sostituire
- 20. Posizionare il cursore alla fine del testo in UITextView e scorrere fino a posizionare
- 21. Come rimuovere l'attributo disabilitato di una textarea usando jQuery?
- 22. jQuery scorrere alla fine della pagina
- 23. tagliare "px" alla fine di Jquery var
- 24. Textarea non ricevendo testo aggiornato in jQuery
- 25. Spostare jQuery alla fine del tag body?
- 26. come aggiungere dinamicamente l'attributo REQUIRED al tag textarea usando jquery?
- 27. Come trovare/rilevare una textarea nella pagina usando jQuery?
- 28. Come disabilitare "il cursore oltre la fine della riga"?
- 29. Inserire il testo nella posizione del cursore su CKEditor usando jQuery
- 30. Come impostare la dimensione personalizzata per il cursore in oscillazione?
Mi piace questa soluzione perché è solo 2 righe di codice, ma penso che sia più intenso lavoro di soluzione Starx . –