Редактор текста в TextArea на JavaScript
06.05.2018 07:06:39 pm
Думаю пользователю, который будет набирать текст в поле TextArea будет гораздо удобнее, если введенный текст будет форматироваться самостоятельно (автоматически), то есть без усилий пользователя. Для этого я писал редактор текста на JS, это было давненько. Теперь я начал писать его заново и весь код пишу на нашем сайте (на DANFA). Какая то отдельная "функция" записана в отдельной теме, в этой теме я хочу соединять весь отдельный функционал.
И так, на данный момент мной создано две темы для редактора, это:
- Замена URL на BBcode URL в TextArea на JavaScript
- Замена первой буквы на заглавную на JavaScript
Сейчас, код из этих тем будем соединять в одно целое.
Без лишних слов, вот, что у меня получилось:
Тут я в код из темы: Замена URL на BBcode URL в TextArea на JavaScript, после:
Вставил:
И теперь, наш сценарий может обворачивать URL в BBcode URL и изменять первую букву на заглавную.
И так, на данный момент мной создано две темы для редактора, это:
- Замена URL на BBcode URL в TextArea на JavaScript
- Замена первой буквы на заглавную на JavaScript
Сейчас, код из этих тем будем соединять в одно целое.
Без лишних слов, вот, что у меня получилось:
document.getElementById('textArea').addEventListener('keydown', function(e) {
if (e.keyCode == 32) {
var word = this.value.split(' '), content = '';
for (var i = 0; i < word.length; i++) {
if (word[i] == '') {
continue;
};
if (i == 0) {
word[i] = word[i].charAt(0).toUpperCase() + word[i].substring(1);
};
if (word[i].indexOf('http://') == 0 | word[i].indexOf('https://') == 0) {
word[i] = '[url=' + word[i] + ']' + word[i] + '[/url]';
};
content += word[i] + ' ';
};
content = content.replace(/(\s*)$/, '');
this.value = content;
};
});
Тут я в код из темы: Замена URL на BBcode URL в TextArea на JavaScript, после:
if (word[i] == '') {
continue;
};
Вставил:
if (i == 0) {
word[i] = word[i].charAt(0).toUpperCase() + word[i].substring(1);
};
И теперь, наш сценарий может обворачивать URL в BBcode URL и изменять первую букву на заглавную.
- Жалоба