如果要插入新文本,我试图使我的文本区域滚动到底部。但是我就是无法正常工作。

的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

最佳答案

你需要改变

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




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


http://jsfiddle.net/cPYCV/48/

10-04 11:31