Показать сообщение отдельно
  #6 (permalink)  
Старый 30.01.2022, 19:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Замена слова в textarea по клику мышки
savsoft,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    </style>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            let textarea = document.querySelector(".txt");
            textarea.addEventListener("click", function() {
                let text = this.value,
                    start = this.selectionStart,
                    end = this.selectionEnd;
                if (/\S/.test(text[start]) && start == end) {
                    while (start) {
                        if (/\s/.test(text[start - 1])) break;
                        start--;
                    }
                    while (end < text.length) {
                        end++;
                        if (/\s/.test(text[end])) break;
                    }
                    this.setSelectionRange(start, end);
                    let selected = text.slice(start, end);
                    if (selected) {
                        selected = (/\*\S+\*/.test(selected)) ? selected.slice(1, -1) : `*${selected}*`;
                        this.setRangeText(selected, start, end, "end");
                    }
                }
            })
        });
    </script>
</head>
<body>
    <textarea name="txt" class="txt">hello word red* </textarea>
</body>
</html>
Ответить с цитированием