textarea自动滚动到底部

时间:2016-05-19 08:05:14

标签: javascript html button textarea

如果插入新文本,我试图让我的textarea滚动到底部。但我无法让它发挥作用。

HTML

<textarea id="txt-area" readonly rows="21" cols="48"></textarea>
<button class="buttons" value="1">1</button>
<button class="buttons" value="2">2</button>
<button class="buttons" value="3">3</button>
<button class="buttons" value="4">4</button>
<input type="button" class="buttons" value="Test">
<input type="button" class="Backspace" value="DEL">

的JavaScript

var values = [];

$(document).ready(function () {
    $(".buttons").click(function () {
        var cntrl = $(this).html();
        if ($(this)[0].nodeName == "INPUT" )
        {
                cntrl = $(this).attr( "value" );
        }

        $("#txt-area").val(function (_, val){
            return val + cntrl
        });
        values.push($(this).val());
        $("#txt-area").val(values.join("\n"));
    });
            $('.Backspace').on('click', function () {
            values.pop();
            $('#txt-area').val(values.join("\n"));
        });
});

$(document).ready(function(){
    $(".buttons").click(function(){
        $('#txt-area').scrollTop($('#txt-area').scrollHeight);    
    });

});

我的代码也在此jsFiddle

2 个答案:

答案 0 :(得分:1)

您需要更改

$('#txt-area').scrollTop($('#txt-area').scrollHeight);    

$('#txt-area').scrollTop($('#txt-area')[0].scrollHeight);    

请参阅http://jsfiddle.net/cPYCV/48/

答案 1 :(得分:0)

将此添加到您的JavaScript

window.setInterval(function() {
  var elem = document.getElementById('txt-area');
  elem.scrollTop = elem.scrollHeight;
}, 1000);