HTML-симулятор текстовой области с контейнером div - PullRequest
1 голос
/ 17 января 2012

Я хочу создать небольшой редактор WYSIWYG.Идея: сначала я хочу добавить функцию для написания и изменения текста.Поэтому я добавляю слушатель onClick и onKeyBoard в мой контейнер div.Когда я нажимаю div, я устанавливаю varaible с именем «focus» в true.Когда происходит ключевое событие, я проверяю, верно ли сосредоточено.Если фокус неверен, ничего не произойдет, иначе новый символ будет добавлен на позицию курсора.

Мои вопросы: это правильный путь?Я пытался проверить, как другие редакторы обрабатывают ввод текста, но я не смог его получить.

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

1 Ответ

1 голос
/ 17 января 2012

Я предполагаю, что вы делаете это для развлечения / практики.Если вы делаете это по профессиональным причинам, я настоятельно рекомендую вам не изобретать велосипед и использовать что-то вроде Ckeditor , tinyMCE или YUI .

Это, как говорится;вам нужно изучить обработку событий .В частности, на ваш вопрос о фокусировке вы можете посмотреть здесь .То, как вы описываете (установка переменной в значение true / false), похоже, что она просто столкнется с проблемами.Если вы используете стандартный атрибут событий (в отличие от установки переменной «focus» onclick), вы должны определить функции для выполнения, а затем установить их как атрибут onfocus / onblur для элементавы слушаете.

То есть, если вы не используете библиотеку javacript, такую ​​как mootools, jquery, extJS и т. д. Если вы используете одну из них, они, вероятно, имеют свой собственный способ обработки событий,поэтому вам следует поискать в соответствующей документации, как реализовать обработчики событий.

Еще одна заметка;Вы действительно должны использовать текстовую область над div (если я не понимаю, и вы просто хотите что-то сделать, когда пользователь фокусируется на вашем div).Если вы используете JavaScript только для того, чтобы полностью изобрести текстовый редактор из div;тогда ваша веб-страница не будет работать без JavaScript.Если вы сохраните текстовую область;пользователи по-прежнему могут вводить информацию, и вы по-прежнему получаете выгоду от захвата текстового содержимого для отправки формы, но использование divs означает, что ваша веб-страница будет просто бесполезной без javascript.

...