gpt4 book ai didi

javascript - 文本区域内的垂直对齐文本

转载 作者:行者123 更新时间:2023-11-28 04:23:55 25 4
gpt4 key购买 nike

我有

<html>
<textarea id='txt' style='height:500px; widht:400px'></textarea>
<input type='text' id='input'/>
<input type='button' id='clicMe' onkeypress='fillTxt()' />

<script>
function fillTxt(){
if(event.keyCode == 13)
document.getElementById('txt').value += document.getElementById('input').value + <br/>;
}
</script>
</html>

我想要的是,当我单击按钮时,文本进入文本区域并垂直对齐底部。这意味着我添加的文本将附加到文本区域的底部

示例:

.-----------------------------.
| |
| |
| |
| this is some text |
'-----------------------------'

编辑:

我已经开始工作了

<div id="tBox" style=" 
position:absolute;
top:400px;
left:220px;
width:600px;
height:334px;
color:#666666;
padding:5px;
margin-bottom:25px;">

<div id="tHolder" style="
width:500px;
height:300px;
background-color:transparent;
color:#008080;
font-weight:bold;
border-style:hidden;
left:5px;
background-color:transparent;
position:relative;
overflow:auto;">

<p id="txt" style='position:absolute; bottom:0; left:0;'></p>

</div>

<input type="text" style="width:500px; position:absolute; bottom:15px; left:8px;" id="input" name="input" onkeydown="fillTxt()" />

</div>

最佳答案

您实际上有 2 个选择,从我们正在创造他们通常不会做的事情的意义上说,这两个都不是“自然的”(但是,嘿,谁不会呢?)

第一个是内容可编辑<p>标签对齐以粘在容器底部 <div> .我更喜欢这个,因为你只有像文本框一样的元素。您可以选择并能够将光标放在任何地方:

 #contentEditableDiv{
width:300px;
height:200px;
margin:100px auto;
border: 1px solid #000;
background:#EEE;
position:relative;
overflow:auto;
}

#editableP{
background:red;
min-height:10px;
position:absolute;
bottom:0;
left:0;
right:0;
}
 <div id="contentEditableDiv">
<p id="editableP" contentEditable="true"></p>
</div>

另一种选择是将 div 作为样式的占位符,并让隐藏的文本区域与之同步。这需要更多的逻辑来模仿真正的文本框,但这只是概念:

window.onload = (function(){

var textArea = document.getElementById('textArea');
var hiddenTextArea = document.getElementById('hiddenTextArea');
var textHolder = document.getElementById('textHolder');

textArea.addEventListener('click',function(){
hiddenTextArea.focus();
},false);

hiddenTextArea.addEventListener('keyup',function(e){
textHolder.innerHTML = hiddenTextArea.value;
},false);


}());
#textArea{
width:300px;
height:200px;
margin:100px auto;
border: 1px solid #000;
background:#EEE;
position:relative;
overflow:auto;
}
#textHolder{
position:absolute;
bottom:0;
left:0;
}
<div id="textArea">
<span id="textHolder"></span>
</div>
<textarea id="hiddenTextArea"></textarea>​


关于javascript - 文本区域内的垂直对齐文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com