Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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 如何创建html输入文本区域,以便对某些单词加下划线或设置其格式?_Javascript_Html_Richtextbox_Textarea_Contenteditable - Fatal编程技术网

Javascript 如何创建html输入文本区域,以便对某些单词加下划线或设置其格式?

Javascript 如何创建html输入文本区域,以便对某些单词加下划线或设置其格式?,javascript,html,richtextbox,textarea,contenteditable,Javascript,Html,Richtextbox,Textarea,Contenteditable,我想要一个可以让javascript为输入字段的不同部分设置某些属性的输入字段。 一个简单的例子来演示我想做什么:假设我想在输入文本区域中的所有诅咒词下划线。因此,当插入一个新字母时,javascript将检查输入文本区域,对于与我识别的诅咒词数组匹配的任何单词,它将在该单词下面加下划线。注意,我不希望用户/客户机能够设置文本的任何属性,我只是希望javascript能够以不同于其他文字的格式设置某些文字(因此,没有工具栏或类似的东西)。我还希望该框在其他方面与常规文本区域完全相同 我已经知道一

我想要一个可以让javascript为输入字段的不同部分设置某些属性的输入字段。 一个简单的例子来演示我想做什么:假设我想在输入文本区域中的所有诅咒词下划线。因此,当插入一个新字母时,javascript将检查输入文本区域,对于与我识别的诅咒词数组匹配的任何单词,它将在该单词下面加下划线。注意,我不希望用户/客户机能够设置文本的任何属性,我只是希望javascript能够以不同于其他文字的格式设置某些文字(因此,没有工具栏或类似的东西)。我还希望该框在其他方面与常规文本区域完全相同

我已经知道一些富文本编辑器(比如jujueditor和lwrte)以及一些语法高亮器,但我不确定它们是否符合我的要求

那么,有谁知道一个工具可以让我这么做

谢谢

您可以通过在div上将该属性设置为true来设置div“contenteditable”。然后用不影响布局但可以设置样式并在以后轻松删除的标记将相关单词包围起来

大概是这样的:

<style type="text/css">
  .content {
    border: 5px inset #000;
    padding: 5px;
  }

  .content .curse {
    color: #f00;
    font-weight: bold;
    text-decoration: underline;
  }
</style>
<div contentEditable="true" class="content">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean consequat gravida tempus. Vivamus convallis, purus dictum bibendum ullamcorper, neque ipsum aliquam ligula, sit amet imperdiet est ante non nisl. Mauris dignissim libero et urna iaculis at iaculis metus semper. Sed ac nisl eu arcu molestie pretium quis quis ligula. Cras vitae enim vitae lacus molestie dictum. Donec rutrum tincidunt augue, vel pretium lectus faucibus ut. In consequat diam accumsan urna fermentum vitae tincidunt ipsum rutrum. Curabitur sagittis, ante a viverra fringilla, orci urna feugiat urna, eu ultricies lacus odio adipiscing risus. Sed pellentesque blandit ipsum vel hendrerit. Nulla nibh mauris, egestas sed consectetur et, lobortis in dolor. Curabitur eu ante lectus. Cras consequat, dui sed pellentesque tempor, purus turpis egestas sapien, in fermentum eros tortor vel mi. Integer accumsan, augue id elementum pretium, est quam vehicula nisl, at congue purus sem quis ipsum. Aliquam commodo, erat in euismod lacinia, tortor lectus interdum lacus, quis vestibulum augue nulla in tellus.
</div>
<script type="text/javascript">
  $(document).ready(function() {
    var html = $('.content').html();
    $('.content').html(html.replace(/lectus/gi, '<span class="curse">lectus</span>'));
  });
</script>

.内容{
边框:5px插图#000;
填充物:5px;
}
.满足.诅咒{
颜色:#f00;
字体大小:粗体;
文字装饰:下划线;
}
Lorem ipsum dolor sit amet,是一位杰出的献身者。埃尼安·康塞克怀孕的时间。惊厥万岁,大腹便便,舌苔不全,非nisl前的饮食不安全。艾库利斯·梅特斯·森佩尔(iaculis metus semper)的自由人和乌纳·艾库利斯(urna iaculis)。这是一个很好的例子。生命的本质是生命的缺陷,是分子的结晶。请不要忘记奥古斯,请记住我们的错误。在酒糟中,发酵的葡萄汁是红色的。射手座的库拉比、弗林蒂亚的维韦拉、弗林蒂亚的奥奇·乌尔纳、欧盟的别有用心。这是一个很好的例子。莫里斯,埃格斯塔斯,德图尔和多洛的洛博蒂斯。库拉比图尔·欧莱克托斯。在玉米饼的发酵罐中,我们喝了一杯啤酒,喝了一杯啤酒,喝了一杯啤酒。整数累加,是指前元素,是交通工具,位于同一位置。阿利奎姆·康莫多,尤伊斯莫·拉齐尼亚的埃拉特,拉库斯的托尔托·莱库斯,特卢斯的奥古斯·努拉前庭。
$(文档).ready(函数(){
var html=$('.content').html();
$('.content').html(html.replace(/lectus/gi,'lectus'));
});