下划线文本区域中的部分文本[重复]

Posted

技术标签:

【中文标题】下划线文本区域中的部分文本[重复]【英文标题】:underline a part of text in Textarea [duplicate] 【发布时间】:2014-04-17 23:15:00 【问题描述】:

是否可以在控制文本的一部分下划线。

我在 jquery 中确实喜欢这个,但没有出现下划线。任何示例代码示例?

<textarea rows = "3" cols = "50" id = "TestName" ></textarea>

jQuery

 var dvhtml = ''
 dvHTML = '<span style=text-decoration: underline;>' + "Hello world" + '</span>';
$("#TestName").html(dvHTML);

我得到的输出只是 Hello world,标签没有被识别

【问题讨论】:

我只是在大声思考:我不确定您是否可以在 textarea 中包含 html 标签。我想到的一个解决方案是拥有一个普通的 html 元素并将其设置为 contenteditable = True (html5demos.com/contenteditable)。当您将文本发送到服务器时,您可以使用 jQuery 从 div 获取它 看看这里***.com/questions/4705848/… 不,不是,因为textarea的内容模型是Text。每当您看到这样的效果时,这意味着textarea已被替换为其他东西(可能是带有contenteditable属性集的“正常”元素)。跨度> 如果是这样,那么sharepoint人员选择器控件是如何工作的?他们是如何实现的,它在识别联系人时会加下划线 您可以将&lt;textarea&gt; 伪装成contenteditable 为:jsfiddle.net/hashem/9PXtu/6 【参考方案1】:

您可以使用contenteditable div。

<div contenteditable="true">I am saying <span>Hello</span></div>

Working Fiddle

【讨论】:

【参考方案2】:

您不能在 textarea 上这样做,如果您需要样式,则需要一些所见即所得。 或者您可以通过在 textarea 上方添加 div 来伪造用户,并隐藏自己的 textarea。

【讨论】:

谢谢,有示例吗? 如果是这样,那么sharepoint人员选择器控件是如何工作的?他们是如何实现的,它在识别联系人时会加下划线 @Iqbal Fauzi,我们如何创建关于 textarea 的 div?哪里有这样的例子?【参考方案3】:

如果您只想在特定文本下划线,可以使用:

<textarea style="text-decoration:underline;" rows="20" cols="30" id="text">All are Welcome!!</textarea>


$("document").ready(function() 
    $("#text").val($("#text").text());
    $('textarea').keypress(function(e) 
          $(this).css('text-decoration','none');
    );
);

演示:http://jsfiddle.net/fiddleyetu/czZWp/6/

【讨论】:

这将在文本区域内的所有内容下划线 我希望该行的特定部分加下划线,【参考方案4】:

style标签中先添加双引号",然后在divHtml = ''之后添加分号

这会起作用 -

<!DOCTYPE html>
<html>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<textarea rows = "3" cols = "50" id = "TestName" style="text-decoration: underline;"></textarea>
<script>
var dvHTML = '';
 dvHTML =  "Hello world" ;
$("#TestName").html(dvHTML);
</script>
</body>
</html>

为了让您知道区别,您在textarea 中输入的HTML 将是其文本。它会将其呈现为文本。所以改为添加文本装饰作为文本区域的样式。而且,关于您最初的问题 - textarea 不可能。看到这个 -

Rendering HTML inside textarea

【讨论】:

【参考方案5】:

你不能使用文本区域,解决方案是使用可编辑的 div。

HTML:

<div id="foo">
</div>

JS:

var dvHTML = '<span style="text-decoration: underline;">Hello world</span>';

$("#foo").html(dvHTML).click(function() 
    this.contentEditable = true;                
);

THE LIVE DEMO.

【讨论】:

在这种情况下,如果我的文本大小大于 div 大小,那么它会出现在边界之外,对吧?,如果我按 Enter 键,它不会像文本区域那样扩展 na> @LLL 你可以做一些 css 技巧来解决这个问题,再次查看演示,我更新了它。

以上是关于下划线文本区域中的部分文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何防止文本区域中的重复空格

在文本区域中的光标位置之后插入文本

jquery - 计算文本区域中的字符[重复]

文本区域中的换行符[重复]

如何查找文本区域中的文本是不是换行为多行?

如何识别富可编辑文本区域中的文本溢出