如何使用颜色选择器更改所选文本的颜色

尼廷·赛尼

我试图在用户选择文本时实现一项功能,用户可以使用颜色选择器更改文本颜色,并且该更改应该是永久性的,直到他/她再次选择文本更改颜色。我能够更改整个文本的颜色,但无法弄清楚如何更改选择文本。我在 StackOverflow 上检查了很多问题,但找不到解决方案。这是我的文件

 var box = document.getElementById('Myelement');
            let colorpicker = document.getElementById('ColorPicker1');
             setInterval(() => {
                    let color = colorpicker.value;
                    box.style.color = color;
                }, 200);
/*   function selectText(hexColor) {
    var selection = window.getSelection().getRangeAt(0);
    var selectedText = selection.extractContents();
    var span = document.createElement('span');
    span.style.color = hexColor;
    span.className = 'selected-text';
    span.appendChild(selectedText);
    selection.insertNode(span);
  }
  
  function unselectText(){
    $('#Myelement').find('.selected-text').contents().unwrap();
  }
  
  $(document).on('mouseup', function () {
    selectText('#f90');
  });
  
  $(document).on('mousedown', function () {
    unselectText();
  });
   */
<html>
<head>
</head>
<body>
    <p id="Myelement" contenteditable = "true">
        Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
    </p>
    <input name="MyColorPicker" 
           type="color"
           id="ColorPicker1" />
    <script>
       
    </script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</body>
  
</html>

英式英语

你基本上就在那里,除了这是input颜色选择器上的一个事件

var box = document.getElementById('Myelement');
let colorpicker = document.getElementById('ColorPicker1');
colorpicker.addEventListener('input', function(e) {
  selObj = window.getSelection()
  var selection = window.getSelection().getRangeAt(0);
  var selectedText = selection.extractContents();
  var span = document.createElement('span');
  span.style.color = e.target.value;
  span.className = 'selected-text';
  span.appendChild(selectedText);
  selection.insertNode(span);
})
<html>

<head>
</head>

<body>
  <p id="Myelement" contenteditable="true">
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
  </p>
  <input name="MyColorPicker" type="color" id="ColorPicker1" />
  <script>
  </script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</body>

</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

VS Code:如何更改所选文本的文本颜色?

如何更改HTML页面中所选文本的颜色?

如何在PHPStorm中更改所选文本/代码的颜色

如何避免使用UIControlEvents上的选择器在UIButton选择上更改文本颜色?

UITextView所选文本的颜色

设置所选文本的颜色

如何更改聚合物日期选择器日历标题和所选日期背景颜色?

使用 Vue js 中的颜色选择器更改字体(文本)颜色

使用颜色选择器更改单击元素的颜色

如何在Rich文本框中更改所选文本背景颜色WPF C#

RichTextFx更改所选文本的颜色和行号背景

如何在Cyberfox / Firefox版本中更改所选文本的背景颜色。39.0?

如何在不单击按钮的情况下使用颜色选择器更改背景颜色?

更改日期选择器的文本颜色

在TabWidget中更改文本颜色和选择器

更改 Cupertino 日期选择器的文本颜色

Flutter-如何更改所选文字的颜色?

当用户在颜色选择器中选择特定颜色时,如何更改div的背景颜色?

如何从android中的选择器对话框更改项目的文本颜色?

无法使用ID选择器更改Bootstrap h1文本颜色?

使用Dropbox API JS选择器时如何显示所选文件名

如何更改日期选择器上日期的颜色?

使用CSS选择器更改表行颜色

使用CSS选择器更改SVG填充的颜色/样式

android数字选择器文本颜色

物料日期选择器文本颜色

更改遮罩密码选择器的颜色

更改选择器的颜色

Onchange颜色选择器不更改画布背景颜色