Как мы знаем, можно установить contenteditable в DIV, чтобы разрешить редактирование. Это может сделать то же самое, что и Textarea.
Однако наиболее существенными являются «копирование и вставка контента» в DIV и Textarea.
DIV - это html / plain, но Textarea обслуживает только обычный текст.
Ниже приведен метод решения этих проблем: -
Method 1 - Direct using window.clipboardData.getData('Text') ( will prompt for asking permission).
Проблема: Mozilla и Chrome не поддерживают данные буфера обмена.
Метод 2 - Использование вспышки.
Проблема: Flash v.10 обновлен до новых правил, которые не могут получить данные буфера обмена без предварительной инициализации пользователя.
Метод 3 - Использование события «onpaste». Когда данные вставляются в div -> Установить фокус
на скрытой текстовой области -> Получить значение из скрытой текстовой области и установить в div
используя setTimeout -> очистить скрытую текстовую область.
Проблема: значение синхронизации для скрытой текстовой области не соответствует.
Я видел, что у Google все хорошо.
Для IE используйте clipboarddata.
Для Mozilla, другие (не поддерживают html5) - Кто-нибудь знает, как это сделал гугл?
Подсказка: использовать режим разработки iframe?
Для Chrome (поддержка html5) - просто установите для DIV значение Contenteditable = "только для открытого текста".