我有代码可以让你使用粗体,下划线,删除或斜体来格式化textarea中的文本。但它显示的是html标签,而不是实际格式化它。我知道一旦我在div里面输出它,它就会被格式化,但我想在用户写文本时显示格式。如何在textarea中显示HTML格式?
如何启用格式化? JavaScript很好,我现在正在使用JQuery。如果还有其他选择,我宁愿不使用WYSIWYG编辑器。
感谢您的任何帮助。
我有代码可以让你使用粗体,下划线,删除或斜体来格式化textarea中的文本。但它显示的是html标签,而不是实际格式化它。我知道一旦我在div里面输出它,它就会被格式化,但我想在用户写文本时显示格式。如何在textarea中显示HTML格式?
如何启用格式化? JavaScript很好,我现在正在使用JQuery。如果还有其他选择,我宁愿不使用WYSIWYG编辑器。
感谢您的任何帮助。
我相信这是唯一可能通过使用一些div或其他可修改的HTML元素,而不是你的textarea。使用Javascript,您可以添加textarea的功能。
如何在SO上使用这样的格式化系统?在我看来,它比伪WYSIWYG更优雅。
用div替换textarea并启用设计模式。 或者你可以使用jquery插件http://plugins.jquery.com/project/designMode
不能在Textarea内部完成,你将不得不去做一个wysiwyg编辑器或类似的东西。这很容易让你自己做出一个。 这是一个很好的教程:
div元素
<div contentEditable="true">
</div
这样你就可以在任何需要的方式格式化您的输入使用上CONTENTEDITABLE属性,只是不要忘了正确转义数据。
只是一个想法;如果你只是想让用户看到他们的反应是什么样的,你可以从这个网站上得到一个提示,并在评论框上方/下方有一个“预览”div。您可以使用onKeyUp将代码放入div中,以便在用户输入时保持日期。这并不完美,但如果你不想使用WYSIWYG,它可能会像你想要的那样好。
这就是说,contentEditable +所见即所得选项可能更友好,更简单,恕我直言。
这仅适用于支持HTML5的浏览器,它似乎是合理的,但不会解决跨浏览器的可靠性问题。 – MacMac
@lolwut:'contentEditable'在所有主要(桌面)浏览器中都支持[相当长时间](http://caniuse.com/contenteditable)。 – You