我创建了我在文本区域或文本框中键入的内容的实时预览,预览工作正常, my fiddle link
HTML
<textarea class="form-control" id="desc" rows="10" cols="5"name="desc"></textarea>
<div class="col-md-6 container" id="live-preview"></div>
Javascript
$(document).ready(function () {
$('#desc').keyup(function(){
$('#live-preview').html($(this).val());
});
});
问题出在我打字的时候
``` </html><p>some text</p></html>```
然后它会显示输出
```<html>some text</html>```
<p>
标签在实时预览中被视为段落,但 '```'
不被视为 code
标签。
我想要什么: 我在键入 *
时想要然后星星被转换成<em>
标签或 <I>
, 代码标签也一样
最佳答案
市面上有很多 Markdown 模块(谷歌是你最好的 friend ):
这是一个使用 markdown-it ( fiddle ) 的例子:
$(document).ready(function () {
var md = window.markdownit(); // get a markdown instance
$('#desc').keyup(function () {
var html = md.render($(this).val()); // parse the markdown into html
$('#live-preview').html(html);
});
});
试试这个字符串 - `<p></p>` *emphasize* and **bold**
不要忘记添加脚本标签:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/markdown-it/4.4.0/markdown-it.min.js"></script>
关于javascript - 使用 javascript 实时预览文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548359/