为什么我的脚本不使用keyup生成新行
Why does my script not make new lines using keyup?
我正在为论坛编写一个脚本,该脚本生成给定字符串的预览。
这是我的js代码
function MakePreview() {
var getText = document.getElementById('inputText').value;
document.getElementById('outputText').innerHTML = getText;}
这是我的HTML代码
<article>
<h2>What are you doing?</h2>
<textarea id="inputText" onkeyup="MakePreview()"></textarea>
<br/>
<input type="submit" class="button" value="Hello"/>
</article>
<article>
<p id="outputText"></p>
</article>
此外,我有一个用于输入的文本区域和一个用于输出的段落。但是输出并不像文本区域那样生成新行。
通常,当字符串比给定内容的宽度长时,段落会自动换行。
有人有解决方案吗?
提前感谢
我不确定,是否有可能实现您想要的(由于字体大小和系列不同),但这个片段非常接近。
function makePreview() {
var text = document.getElementById('inputText').value;
document.getElementById('outputText').innerHTML = text;
}
.wrapper {
width: 150px;
}
.wrapper textarea {
width: 100%;
}
#outputText {
position: relative;
white-space: pre-wrap;
word-break: break-all;
border: 1px solid #ccc;
}
<div class="wrapper">
<textarea id="inputText" oninput="makePreview()"></textarea>
<p id="outputText"></p>
</div>
这个想法是将textarea
和p
都封装在同一个父对象中,以使它们的宽度匹配。word-break: break-all
和white-space: pre-wrap
"复制"自动文本换行,并在textarea
中向p
元素输入新行。
但是,根据使用的字体系列和大小,文本可能会被剪切到不同的位置。如果在两个元素中使用相同的字体,可以得到更好的匹配。
您可以通过将段落的white-space
属性设置为pre
:来指示段落尊重新行字符(以及其他空格,如制表符、空格等)
function MakePreview() {
var getText = document.getElementById('inputText').value;
document.getElementById('outputText').innerHTML = getText;
}
#outputText {
white-space: pre;
}
<textarea id="inputText" onkeyup="MakePreview()" rows="4" cols="20"></textarea>
<p id="outputText"></p>
在html中,多个空格被一个空格替换,因此如果您想在段落中预览,则需要用<br/>
替换换行符
function MakePreview() {
var getText = document.getElementById('inputText').value;
document.getElementById('outputParagraph').innerHTML = getText.replace(''n', '<br/>');
}
在您的textArea上使用wrap="hard"
。如果长度大于textArea大小,这将有助于新行。对于固定的行和列,您可以在文本区域中使用rows="2" cols="20"
。
相关文章:
- 如何从rails中的代码中删除新行( )
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 如何在脚本上添加新行
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 字符串中的
标记未正确在 HTML 中创建新行 - JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 反应中的新行
- 阻止ReSharper将JavaScript函数参数放到新行中
- HTML表内容:如果行很长,如何在新行中显示部分内容
- dhtmlx添加新行并启动单元格编辑器
- 将新行打印到$mdToast
- 在新行(html)中动态添加更多文本字段
- 使用删除文本创建新行
- 如何在Google Geochart图表的工具提示文本中添加新行
- NodeJS Fork-每次子流程发送新行时都进行React
- 为什么要将此p标记添加为新行
- 如何转义php中的新行字符以输出为javascript字符串值
- 在Aptana Studio 3中将Javascript数组自动格式化为新行
- Jquery在表WITH函数中追加新行后添加单击事件
- 为什么我的脚本不使用keyup生成新行