¿Cómo establecer un color diferente para cada letra en un campo de texto usando jQuery?

En este artículo, encontraremos cómo establecer un color diferente para cada letra en un campo de texto usando jQuery.

Acercarse:

Para ello tendremos que cambiar el color del texto cada vez que el usuario introduzca una letra con el teclado. Para esto, usaremos el evento onkeydown que se activa cada vez que el usuario presiona una tecla en el teclado.

Sintaxis:

object.onkeydown = function(){Script}

Ejemplo: Veamos un ejemplo para encontrar cómo establecer un color diferente para cada letra en un campo de texto usando el evento jQuery onkeydown .

HTML

<!DOCTYPE html>
<html>
  <head>
    <script src=
"https://code.jquery.com/jquery-3.5.0.js">
    </script>
  </head>
  <style>
    div {
      border: 1px solid black;
      margin-top: 40px;
      margin-left: 250px;
      margin-right: 250px;
    }
  </style>
  <body style="text-align: center">
    <h2 style="color: green">GeeksforGeeks</h2>
    <div id="input"></div>
    <script>
      function setRange(text) {
        var r, s;
        if (document.createRange) {
          r = document.createRange();
          r.selectNodeContents(text);
          r.collapse(false);
          s = window.getSelection();
          s.removeAllRanges();
          s.addRange(r);
        }
      }
  
      // Selecting input tag and applying css to each word
      $("#input")
        .prop("contentEditable", true)
        .on("input", function () {
          $(this)
            .contents()
            .each(function () {
              var content = this;
              $.each($(this).text().split(""), function () {
  
                // Generating random color each time
                var color = "#" + ((Math.random() * 16777215) | 0).toString(16);
                $("<span>")
                  .text(this)
                  .css({ color: color })
                  .insertBefore(content);
              });
              $(this).remove();
            });
  
          // Function to set the end of the text content
          setRange($("#input"));
        });
    </script>
  </body>
</html>

Producción:

Cambiar el color del texto usando el evento keydown

Publicación traducida automáticamente

Artículo escrito por faizamu19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *