Событие onselect не запускается в div

Мне не удалось запустить обработчик событий onselect, прикрепленный к элементу <div>. Можно ли заставить <div> генерировать события Выбрать?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
5
0
6 476
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Согласно w3schools, onSelect определяется только для объектов input и textarea.

Однако вы можете попытаться поймать MouseUp событие и получить выбранный текст в текущем окне / документе.

Используйте OnClick.

:select применяется только к некоторым элементам формы.

Вы можете добиться того, чего хотите, используя событие onMouseUp. См. ниже...

<html>
    <body>
        <div id = "container" style = "border: 1px solid #333" contentEditable = "true" onMouseUp = "checkMe()">Type text    here</div>

    </body>
    <script language = "javascript">
    function checkMe() {
        var txt = "";

        if (window.getSelection) {
                txt = window.getSelection();
        }
        else if (document.getSelection) {
            txt = document.getSelection();
        } else if (document.selection) {
            txt = document.selection.createRange().text;
        }

        alert("Selected text is " + txt);
    }
    </script>
</html>

Это более или менее то, что я ищу, но не учитывает возможность того, что пользователь будет использовать клавиатуру для расширения или перемещения выделения. Но тогда привязка той же логики к onKeyUp, вероятно, сработает.

Peter Wone 27.10.2014 06:55

Другие вопросы по теме