Sto creando qualcosa in cui un'area di testo ottiene sempre più testo aggiunto. In firefox, la textarea torna indietro all'inizio ogni volta. Attualmente ho qualcosa come textarea.scrollTop=1000000;
per farlo scorrere indietro ogni volta che cambia, ma sale ancora in alto per un tempo molto breve. C'è un modo per impedirlo?Come faccio a interrompere una textarea scorrendo verso l'alto ogni volta che cambio il suo valore
Q
Come faccio a interrompere una textarea scorrendo verso l'alto ogni volta che cambio il suo valore
5
A
risposta
0
ho cosa che è problema di aggiungere il contenuto tramite lo script, incollare il codice che aggiungere testo al vostro textarea
2
mi sono imbattuto in questo problema, anche. Succede in IE e Firefox ma non in Opera e Chrome.
ho pensato di nascondere i salti momentanei alla sommità da "double-buffering" diventa textarea:
- Creare due textareas con le stesse caratteristiche e dimensioni. Solo uno di questi è visibile; l'altro è nascosto.
- Aggiungi testo alla textarea nascosta: imposta [il valore della textarea nascosta] su [il valore della textarea visibile] + [testo da aggiungere]. (La textarea scorre automaticamente verso l'alto, ma questa textarea è nascosta!)
- Scorri la textarea nascosta verso il basso: imposta scrollTop su un valore intero alto come (-1 >>> 1).
- Scambia la textarea nascosta con quella visibile. Ora viene mostrato il nuovo testo, sans saltando in cima!
È possibile scambiare le aree di testo nascosto/visibile utilizzando uno dei due metodi:
- Usa posizionamento assoluto per posizionare le textarea uno sopra l'altro in combinazione con toggling their visible property.
- Scambia gli effettivi elementi DOM. Non sono sicuro che questo introdurrà un nuovo tipo di "sfarfallio". Potrebbe essere necessario creare un div per contenere la textarea visibile in modo che il layout della pagina non continui a cambiare ...
il codice che uso per aggiungere alla textarea è 'textarea.value + = string' – tmim
provare a usa 'textarea.value = textarea.value + string;', so che qualche tempo fa ho avuto lo stesso problema e ho cambiato il metodo di aggiungere nuovi contenuti. e funziona, ma non sono sicuro che sia così. –