如果插入新文本,我试图让我的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
中答案 0 :(得分:1)
您需要更改
$('#txt-area').scrollTop($('#txt-area').scrollHeight);
到
$('#txt-area').scrollTop($('#txt-area')[0].scrollHeight);
答案 1 :(得分:0)
将此添加到您的JavaScript
window.setInterval(function() {
var elem = document.getElementById('txt-area');
elem.scrollTop = elem.scrollHeight;
}, 1000);