saber quitar pierde foco evento ejemplo cuando como atributos javascript html css scroll textarea

javascript - quitar - Cómo tener un área de texto para mantener desplazado a la parte inferior cuando se actualiza



onchange onblur onfocus (5)

Al usar jQuery, puedes averiguar cuándo cambia el contenido del área de textarea usando:

$("#object").change(function() { scrollToBottom(); });

Y desplácese hasta la parte inferior utilizando:

function scrollToBottom() { $(''#object'').scrollTop($(''#object'')[0].scrollHeight); }

Código de desplazamiento tomado de jquerybyexample.blogspot.com .

Mi problema está un poco fuera de lugar aquí, así que intentaré explicarlo lo mejor que pueda.

Tengo un área de texto, que tiene css de #object{overflow:hidden;resize:none;} . Estoy tratando de evitar que genere una barra de desplazamiento mientras que también se redimensiona. Este área de texto se sincroniza con la consola de un script externo, lo que significa que se actualiza. Sin embargo, de forma predeterminada, permanecerá en la parte superior a menos que resaltes el texto, arrastrando hacia la parte inferior del elemento. Esta sería la única forma de desplazarse hacia abajo con excepción de las teclas de flecha, naturalmente.

Programáticamente, ¿hay alguna manera de mantener el área de texto hasta el final al actualizar? Sería bueno tener un desplazamiento automático para adaptarse a su caso de uso.


Puedes hacerlo por javascript. Establezca la propiedad scrollTop del área de texto con la propiedad scrollHeight como a continuación:

document.getElementById("textarea").scrollTop = document.getElementById("textarea").scrollHeight


Complemento genérico de JQuery

Aquí un plugin jquery genérico para scrollBottom de cualquier elemento:

$.fn.scrollBottom = function() { return $(this).scrollTop($(this)[0].scrollHeight); };

uso:

$("#logfile").val( $("#logfile").val() + "this is new line test/n" ).scrollBottom();


Usando Javascript

var textarea = document.getElementById(''textarea_id''); textarea.scrollTop = textarea.scrollHeight;

Usando Jquery

$(''#textarea_id'').scrollTop($(''#textarea_id'')[0].scrollHeight);​​​


function checkTextareaHeight(){ var textarea = document.getElementById("yourTextArea"); if(textarea.selectionStart == textarea.selectionEnd) { textarea.scrollTop = textarea.scrollHeight; } }

Llame a esta función cada vez que cambie el contenido del área de texto. Si no puede editar la influencia externa, active esta función periódicamente usando setInterval.