How to have a textarea to keep scrolled to the bottom when updated

前端 未结 5 1919
礼貌的吻别
礼貌的吻别 2020-12-03 03:06

My problem is a bit off the cuff here, so I\'ll try to explain this best I can.

I have a text area, having css of #object{overflow:hidden;resize:none;}.

相关标签:
5条回答
  • By using jQuery, you can find out when the content of the textarea changes using:

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

    And scroll to the bottom using:

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

    Scroll code taken from jquerybyexample.blogspot.com.

    0 讨论(0)
  • 2020-12-03 03:22

    Generic JQuery Plugin

    Here a generic jquery plugin for scrollBottom of any element:

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

    usage:

    $("#logfile").val( $("#logfile").val() + "this is new line test\n" ).scrollBottom();
    
    0 讨论(0)
  • 2020-12-03 03:29

    Using Javascript

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

    Using Jquery

    $('#textarea_id').scrollTop($('#textarea_id')[0].scrollHeight);​​​
    
    0 讨论(0)
  • 2020-12-03 03:39
    function checkTextareaHeight(){
       var textarea = document.getElementById("yourTextArea");
       if(textarea.selectionStart == textarea.selectionEnd) {
          textarea.scrollTop = textarea.scrollHeight;
       }
    }
    

    Call this function every time when the contents of the textarea are changed. If you cannot edit the external influence, periodically activate this function using setInterval.

    0 讨论(0)
  • 2020-12-03 03:41

    You can do it by javascript. Set the scrollTop property of text area with scrollHeight property like below:

    document.getElementById("textarea").scrollTop = document.getElementById("textarea").scrollHeight 
    0 讨论(0)
提交回复
热议问题