允许富文本功能的输入框

时间:2013-06-30 15:28:28

标签: javascript jquery html html5

我正在寻找建议我应该根据我的需要使用哪个组件,如下所示:

我想要简单的单行编辑框,允许用户输入文本,当此编辑组件具有焦点时,所有文本的格式应相同(一种字体,一种颜色......)

但是当输入组件失去焦点时,我想"处理"它的文字和(如果适用),该文字的某些部分不同的格式化显示(让我们说是灰色而不是标准的黑色)

是否有一些现有的组件可以达到这样的目标,或者是否有一些简单的代码/解决方案来获得这样的行为?

2 个答案:

答案 0 :(得分:0)

您无法设置输入值的子字符串的样式。如果这是必要的,你需要创建一个与输入框的样式相匹配的自定义元素,这对于跨浏览器匹配非常具有挑战性(温和地说),并且在处理字符串时,设置{{1包含相关子字符串的元素。为简化此操作,您可以使用HTML5 span属性。您仍然需要处理可编辑元素中文本的样式,但浏览器将处理输入交换内容。

更简单的解决方案是使用contenteditable:valid伪选择器。您可以将这些与:invalid伪选择器结合使用,以在编辑期间提供未经验证的样式。在我的头顶,这样的事情:

:focus

希望它有所帮助。

答案 1 :(得分:0)

由于无法在输入元素中格式化文本,因此需要使用div元素来实现。采用可编辑的div,如下所示

<div contenteditable="true"></div>

现在按照以下主题中的说明向其添加一个onblur事件。在onblur上调用方法进行格式化

Is it possible to write onFocus/lostFocus handler for a DIV using JS or jQuery?