Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可能以不同的方式在输入中设置单词的字母样式?_Javascript_Jquery - Fatal编程技术网

Javascript 是否可能以不同的方式在输入中设置单词的字母样式?

Javascript 是否可能以不同的方式在输入中设置单词的字母样式?,javascript,jquery,Javascript,Jquery,想知道这是否可能,但是如果我有一个包含文本的输入,例如,让我们假设输入中有单词“Test”。我想能够做的是改变单词“Test”的单个字母的样式 我希望“Te”是粗体的,然后“st”是规则的 不必太大胆,也许我希望“e”是红色或类似的颜色 关于如何实现这一点有什么想法吗?不认为这是可能的(将进行更多测试) 添加一个看起来像输入的contenteditable div怎么样 简单内容: 编辑 不可能。:) 您应该看看HTML所见即所得编辑器是如何构建的 基本上,他们 隐藏输入字段并显示另一个具有样

想知道这是否可能,但是如果我有一个包含文本的输入,例如,让我们假设输入中有单词“Test”。我想能够做的是改变单词“Test”的单个字母的样式

我希望“Te”是粗体的,然后“st”是规则的

不必太大胆,也许我希望“e”是红色或类似的颜色


关于如何实现这一点有什么想法吗?

不认为这是可能的(将进行更多测试)

添加一个看起来像输入的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指定,但可能需要几年才能到达所有浏览器。