javascript - 使用 javascript 实时预览文本

标签 javascript

我创建了我在文本区域或文本框中键入的内容的实时预览,预览工作正常, 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/

相关文章:

javascript - jquery 选择没有 id 的表单元素

javascript - Bootstrap 导航栏按钮混淆

javascript - Fancybox on click 事件与 ajax 触发多个 ajax 请求

javascript - 如何通过 get 请求显示 popen 输出?

javascript - 将 html img 元素转换为 Canvas

JavaScript 对象定位碰撞逻辑

javascript - Q Promise同步应答

javascript - Marionette JS : who is responsible for showing sub-applications?

javascript - 关闭窗口而不使用 window.open();

javascript - 客户关系管理 2013 : New Ribbon Button to Cancel a Task