更改<pre>在文本区域更新时阻止内容
Change <pre> block contents upon textarea update
我正在尝试获取要由JavaScript呈现的<pre>...</pre>
标记之间的内容,其中的内容是动态的。我希望做的是在文本区域中键入一个输入,以更新<pre>
标记中的显示。
我不确定如何指定<pre>
标记中的内容,以便在每次文本区域更新时从文本区域获取值。
非常感谢!
看到您正在使用的代码会有很大帮助,但如果我读得正确,这应该会有所帮助。假设HTML是这样的:
<textarea id="type"></textarea>
<pre id="output"></pre>
此选项使用纯javascript:
var textarea = document.getElementById('type'),
pre = document.getElementById('output');
if(textarea.addEventListener) {
textarea.addEventListener('keyup',function(){
pre.textContent = this.value;
});
} else {
textarea.attachEvent('onkeyup',function(){
pre.textContent = this.value;
});
}
为了简洁起见,此代码块使用jQuery库:
$('#type').on('keyup',function(){
$('#output').text($(this).val());
});
请注意,在这两种情况下,我都设置<pre>
的文本,而不是HTML。这允许您在文本区域中输入像<
这样的HTML字符,并使它们在<pre>
元素中正确转义。
纯JavaScript演示
jQuery演示
如果您在离开<textarea>
之前不希望更改<pre>
,则只需将'keyup'
和'onkeyup'
分别更改为'change'
和'onchange'
即可。
将onchange
事件绑定到input
,然后简单地将其值复制到pre
:
<pre id="pre">Type something</pre>
<textarea id="text" rows="20" cols="20" />
<script type="text/javascript">
document.getElementById("text").onchange = function () {
document.getElementById("pre").innerHTML = this.value;
};
</script>
演示。
相关文章:
- CKeditor不会在源代码模式下更新文本区域
- 基于复选框 Jquery 更新文本框
- 在里面输入新文本后更新文本区域内容的值
- 根据复选框选择 jQuery 更新文本框
- 如何在手动插入一些文本后更新文本区域的ng模型
- 使用选择框中的值更新文本区域
- 使用特定 ID 更新文本框
- SQL生成的选择菜单,根据相关值更新文本框
- JavaScript>on更改输入&选择更新文本区域
- 从下拉框更新文本框
- 当通过javascript而不是按键/复制/粘贴更新文本输入时使用的事件处理程序
- 使用 ID 更新文本区域值,而不是在 AngularJs 中使用 ng-model
- 如何使用 JavaScript 基于其他文本框更新文本框值
- 单击输入按钮时更新文本区域内容
- 更新文本框相对于表达式的值
- JS不更新文本框
- html5 画布 - 更新文本
- Elfinder文件管理器,带有多个按钮更新文本输入
- 挖空文本输入修改可观察不更新文本
- 在javascript中从servlet获得响应后更新文本区域