Contenteditable div фактически не редактируется в webkit

У меня есть div с атрибутом contenteditable, установленным как true, однако он не отображает мигающий курсор или обновление при вводе текста в него. Я добавил слушателей событий для фокуса, нажатия клавиш и нажатия клавиш, чтобы увидеть, получает ли div их, И ЭТО!

Как могло случиться так, что все соответствующие события на самом деле увольняются, но содержимое div не соответствующим образом обновляет себя? Я не делаю ничего смешного, как предотвращение поведения событий по умолчанию.

Кроме того, я несколько раз доставлял контент-контент в несколько проектов, поэтому я уверен, что некоторые ошибки вызваны структурой этого HTML-страницы. Опять же, проблема возникает только в Chrome и Safari; Firefox и IE8 в порядке.

Ответы

Ответ 1

Хорошо, я понял свою проблему. У меня было свойство css '-webkit-user-select', установленное none на элементе, путь вверх по иерархии рассматриваемого div. Таким образом, это мешало курсору быть помещенным внутри моего contentEditable div.

Интересно, что соответствующий "-moz-user-select" (который я также установил без иерархии) не влияет на Firefox таким же образом.

Ответ 2

Я хочу поделиться этим кодом с вами. Это может помочь вам! Вы отключите пользовательский выбор и выносок для всего сайта, а затем переопределите допустимые поля, чтобы разрешить выбор пользователя.

html,body{
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

*[contenteditable] {
    -webkit-user-select: auto !important;
}