【问题标题】:Apply style to selected text in a textbox将样式应用于文本框中的选定文本
【发布时间】:2013-05-25 16:15:45
【问题描述】:

我有以下代码

   $('#txtEditor').select(function (e) {
        var start = e.target.selectionStart;
        var end = e.target.selectionEnd;
        selText = $('#txtEditor').val().substring(start, end);
    });

<asp:TextBox ID="txtEditor" runat="server" TextMode="MultiLine" Width="500px" Height="500px" Font-Size="Large"></asp:TextBox>

我想仅对文本框中的选定文本(选择后)应用一些样式(着色或使其变为粗体或斜体等)。在selText 我得到选定的字符串。但我找不到任何将样式仅应用于文本框中选定字符串的事件或函数。

【问题讨论】:

  • 用以下内容添加 css - $('selector').css('name', 'value');
  • 您可以选择this link 吗?
  • 文本框可以有很多文本我只需要对选定的文本应用样式。就像我们使用 msword 或其他东西所做的那样。
  • TextBox 等于 &lt;textarea&gt; 吗?如果是textarea,则不能更改其中一部分的样式。
  • 它只是一个 texbox。现在我使用 asp:TextBox。如果它是一个 html 文本框 (

标签: jquery css textbox styles


【解决方案1】:

这是完整的解决方案...SUDHA

http:// js 小提琴 。网/ 桑迪普维拉尼/ mzays/

删除之间的空格

【讨论】:

  • Ehm...为什么要在开头放空格?
  • @Sandeep Virani,我试过这个例子。问题是它适用于“div”,但从不适用于我的“文本框”。如何修改js文件以达到我的要求?
  • 在我的文本框中,内容(字符串)是动态输入的,我想设置选定部分的样式。 (比如我们可以在 MSWord 中做什么)
  • @Mr Lister:stackoverflow 不允许我放 jsfiddle 的链接,这就是原因。
  • 我还没有得到解决方案。如果它在一个 div 中很好。但我无法用文本框完成它。
【解决方案2】:

要更改页面上文本选择部分的颜色,请使用 CSS ::selection 伪元素。

MDN documentation

但请注意,

  • 这是一个非标准选择器,许多浏览器都支持它,但没有得到 W3C 的认可。
  • 您不能只更改任何属性,实际上只能更改颜色。不粗体!

如果您想更改段落或其他内容中的某些文本,您可以使用 Javascript 快速将整个选择放入新元素中,span 或其他内容,然后将属性应用于span。但是,如果它是文本框中的文本,那么您就不走运了,因为您无法将子元素添加到 input

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多