我有一些代码可以让您使用粗体,下划线,删除线或斜体格式化textarea中的文本。但它显示html标签而不是实际格式化它。我知道一旦我在div中输出它,它就会被格式化,但我想在用户写文本时显示格式。
如何启用格式化? JavaScript很好,我现在正在使用JQuery。如果还有其他选择,我也不愿使用WYSIWYG编辑器。
感谢您的帮助。
答案 0 :(得分:14)
在div元素
上使用contentEditable属性 <div contentEditable="true">
</div
通过这种方式,您可以以任何所需的方式格式化输入,只是不要忘记正确的转义数据。
答案 1 :(得分:2)
只是一个想法;如果你只是想让用户看到他们的回复会是什么样子,你可以从这个网站上获得一个提示,并在评论框的正上方/下方有一个“预览”div。你可以使用onKeyUp将代码放入div中,以便在用户输入时保持日期。它并不完美,但如果你不想使用WYSIWYG,它可能会和你一样好。
话虽如此,contentEditable + WYSIWYG选项可能更加用户友好,更简单,恕我直言。
答案 2 :(得分:0)
我相信只有使用一些div或其他可设置的html元素才能代替你的textarea。使用Javascript,您将添加textarea的功能。
你在SO上使用这样的格式化系统怎么样?在我看来,它比伪WYSIWYG更优雅。
答案 3 :(得分:0)
用div替换textarea并启用设计模式。 或者您可以使用jquery插件http://plugins.jquery.com/project/designMode
答案 4 :(得分:0)
不能在Textarea内部完成,你必须去制作一个所见即所得的编辑器。很容易自己制作其中一个。 这是一个非常好的教程: