【问题标题】:Can you have an html list inside a <textarea> and it look like a list?你能在 <textarea> 中有一个 html 列表,它看起来像一个列表吗?
【发布时间】:2010-11-04 10:25:35
【问题描述】:

我试过了

<textarea rows="10" columns="2"><li>joe</li><li>jerry</li></textarea>

看看我是否可以在&lt;textarea&gt; 中放置一个 html 列表,但它只是显示为文本。有没有办法在文本区域内将其显示为列表?

【问题讨论】:

    标签: javascript html textarea html-lists


    【解决方案1】:

    textareas 内不能有 HTML - 它仅用于纯文本。但是,您可以尝试为此使用contentEditable。结果不是很好,但你是否要使用它是你的判断。简单地使用这样的东西:

    <div class="editable" contenteditable="true">
        <ul>
            <li>List item</li>
            <li>List item</li>
        </ul>
    </div>
    

    这种方法的问题是很难预测浏览器会生成什么 HTML,而且生成的一些 HTML 确实很糟糕,而且您必须对输入进行更多的净化,而不是使用纯文本。此外,规范中未指定此接口,因此您将在不同的浏览器中处理不同的接口。

    请参阅:http://www.jsfiddle.net/yijiang/bN2tm/http://html5demos.com/contenteditable

    【讨论】:

    • 这种方法有什么缺点?
    • 说你不能在 textarea 中包含 HTML 有点令人困惑。你可以拥有它,它只是不会呈现为 HTML。
    • 好的,所以如果我想有一个可以以半格式方式输入文本的区域(使用列表等),但看起来不错,并且很容易被不熟悉的非技术人员使用使用html标记之类的东西不容易理解,这会是一个好方法吗?
    • @chromedude 如果可能,请尝试使用 WYSIWYM 解决方案,例如在 SO 上使用的 wmd + markdown。 contentEditable 意味着尝试修复浏览器怪癖的工作量更大。当然,您总是可以使用所见即所得的编辑器,但在我看来,这些都是可憎的。
    • @Yi Jiang 好的,我完全同意所见即所得的方法,它们绝对是可怕和烦人的。谢谢。
    【解决方案2】:

    不可能将&lt;textarea&gt; 中的 HTML 呈现为 HTML。

    如果您希望您的用户能够编辑和修改列表内容,您可以尝试使用所见即所得的 HTML 编辑器,例如 FCKEditorTinyMCE

    如果您只想要列表功能而不想要其他富文本编辑器功能,这有点过头了,但是这两个编辑器都可以完全自定义和精简。以名为“Custom Toobar”的FCKEditor demo 为例。

    【讨论】:

      【解决方案3】:

      这是不可能的。

      textarea 用于显示和编辑文本,而不是 HTML。

      【讨论】:

        猜你喜欢
        • 2022-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-27
        • 1970-01-01
        • 1970-01-01
        • 2022-06-15
        相关资源
        最近更新 更多