Показать сообщение отдельно
  #1 (permalink)  
Старый 07.09.2023, 11:16
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 222

Определить textarea с выделенным текстом
В форме есть несколько textarea, необходимо получить id textarea в которой выделен текст. Пока знаний хватило только на это:

<!DOCTYPE html>
<html>
<head>
  <title>Пример</title>
</head>
<body>
  <textarea id="textarea1" name="field1">Выделенный текст в первом поле</textarea>
  <textarea id="textarea2" name="field2">Текст во втором поле</textarea>
  <img src="image.png" alt="Изображение" style="cursor: pointer;" id="image">

  <script>
    function attachEventListenersToTextareas() {
      var textareas = document.getElementsByTagName('textarea');
      
      for (var i = 0; i < textareas.length; i++) {
        textareas[i].addEventListener("mouseup", function() {
          var selectedText = window.getSelection().toString();
          if (selectedText !== "") {
          alert("ID textarea с выделенным текстом: " + this.id);
          }
        });
      }
    }

    attachEventListenersToTextareas();

    document.getElementById("image").addEventListener("click", function() {
      attachEventListenersToTextareas();
    });
  </script>
</body>
</html>


Вопрос: как сделать так, чтобы alert появлялся только при нажатии на картинку? Сейчас он выскакивает сразу после выделения текста.

Заранее спасибо!

Последний раз редактировалось javascript_pupil, 07.09.2023 в 11:19.
Ответить с цитированием