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;
}