HTML Content Editable div: выберите текстовое событие

У меня есть div, которыйcontenteditable

Пользователь может ввести любой контент там. Есть ли способ получить событие, когда пользователь делает выбор в div.

Что-то вроде:

$('.editable').onSelection(function(e, selection){alert(selection);}
 Tats_innit08 нояб. 2012 г., 10:16
возможный дубликатВыбранный текстовый триггер события в Javascript :) может помочь!
 unni08 нояб. 2012 г., 10:31
@Tats_innit спасибо за указатель. Ноstackoverflow.com/a/11786495/1008421 вроде решает проблему. Но я хотел бы, если есть какой-то другой лучший способ сделать это

Ответы на вопрос(2)

Здесь нет 'selectend» событие, но мы можем работать, когда пользователь закончил выбор, наблюдая событие mouseup

$(function () {
    $('.editable').on('selectstart', function () {
        $(document).one('mouseup', function() {
            alert(this.getSelection());
        });
    });
});​
 Elliott08 апр. 2014 г., 13:05
Это очень хороший момент
 Michael Bates08 апр. 2014 г., 12:25
Вы также можете добавитьkeyup в том же обработчике событий, что иmouseup так что выбор текста с клавиатуры тоже работает
$('#ta').select(function() {
alert('Handler for .select() called.');
});

. jQuery Привязать обработчик события к "Выбрать" JavaScript событие, или вызвать это событие на элементе.

.select (handler (eventObject)) handler (eventObject) Функция, выполняемая каждый раз, когда событие инициируется.

.select ([eventData], handler (eventObject)) eventDataA карта данных, которые будут переданы в обработчик событий. handler (eventObject) Функция, которая выполняется каждый раз, когда событие инициируется.

проверятьссылка на сайт

 nevf20 мар. 2014 г., 05:02
on.select не работает для contenteditable. ref: "Это событие ограничено <тип ввода = "Текст "> поля и <TextArea> ящики «.

Ваш ответ на вопрос