Javascript 是否可能以不同的方式在输入中设置单词的字母样式?
想知道这是否可能,但是如果我有一个包含文本的输入,例如,让我们假设输入中有单词“Test”。我想能够做的是改变单词“Test”的单个字母的样式 我希望“Te”是粗体的,然后“st”是规则的 不必太大胆,也许我希望“e”是红色或类似的颜色Javascript 是否可能以不同的方式在输入中设置单词的字母样式?,javascript,jquery,Javascript,Jquery,想知道这是否可能,但是如果我有一个包含文本的输入,例如,让我们假设输入中有单词“Test”。我想能够做的是改变单词“Test”的单个字母的样式 我希望“Te”是粗体的,然后“st”是规则的 不必太大胆,也许我希望“e”是红色或类似的颜色 关于如何实现这一点有什么想法吗?不认为这是可能的(将进行更多测试) 添加一个看起来像输入的contenteditable div怎么样 简单内容: 编辑 不可能。:) 您应该看看HTML所见即所得编辑器是如何构建的 基本上,他们 隐藏输入字段并显示另一个具有样
关于如何实现这一点有什么想法吗?不认为这是可能的(将进行更多测试) 添加一个看起来像输入的contenteditable div怎么样 简单内容: 编辑
不可能。:) 您应该看看HTML所见即所得编辑器是如何构建的 基本上,他们
- 隐藏输入字段并显示另一个具有样式化内容的html元素:
- 在html中使用设计模式:
但是它不适用于
不,使用
标记是不可能的。但是,您可以通过使用可争用的div或其他内容来替换样式化输入,从而诱使用户相信他正在使用样式化输入
然而,我在几年前就研究过这个问题,如果你想要一个可靠的跨浏览器解决方案,那就太糟糕了。
除非我记错了,否则仅在contenteditable div中显示粗体文本的html很容易在主要浏览器中产生以下结果:
<BOLD style="font-weight:bold">Bold</BOLD> <!-- IE -->
<span style="font-weight:bold">Bold</span> <!-- Chrome -->
<b>Bold</b> <!-- Firefox -->
<strong>Bold</strong> <!-- Safari -->
<lol style="fOnt-WEIGHT: bold;">Bold</lol> <!-- IE6 -->
粗体
大胆的
大胆的
粗体
大胆的
不开玩笑。是的,我想我只是想知道输入中是否有这样的工作,所以我也有输入的所有其他特性/功能。我想很有可能你不能用输入来做这件事。看起来不可能,伙计。看起来你必须像这家伙说的那样使用某种包装HTML。@Raynos:我知道。这就是我懒惰的原因;)@Mike,@PeeHaa:Microsoft发明了contenteditable,IE比任何其他浏览器早了整整4年,因此值得称赞:)@PeeHaa:contenteditable在浏览器中的历史相当悠久:我知道没有办法让浏览器在
字段中逐个字符地设置文本样式,但我会借此机会插入:-)(不幸的是,这并不能解决问题。)这个丑陋的东西怎么办:
:p由execCommand()
生成的标记目前正由WHATWG指定,但可能需要几年才能到达所有浏览器。