Мои фрагменты в моей игре с набором текста представляют собой фрагменты кода, поэтому мне, очевидно, нужно использовать табуляцию, но у меня есть некоторая логика, которая отображает желтый блок для текущего символа, который я должен ввести, но когда я нажимаю Enter и пытаюсь нажать Tab, чтобы перейти к первому символу в новой строке, это просто сбивается.
И чтобы заставить средство проверки символов перейти к первому символу, мне нужно нажать пробел. Я добавил событие нажатия клавиши в текстовую область, чтобы предотвратить использование вкладки по умолчанию, но не могу понять больше.
Может быть, у кого-нибудь появится какая-нибудь идея? Я не уверен, какой код сюда поместить, потому что его будет так много, поэтому я просто спрашиваю гипотетически. Я ценю каждую мысль. Спасибо, ребята.
Кстати, я использую nextjs и tsx. Я не смог найти никакого полезного ответа.
Я попробовал это и предотвратил дефолт самостоятельно:
onKeyDown={(e: React.KeyboardEvent) => {
if (e.key === 'Tab') {
e.preventDefault();
const textarea = e.currentTarget;
const start = textarea.selectionStart;
const end = textarea.selectionEnd;
// 4 Spaces instead of Tab, PLEASE fix the bug
const newValue =
text.substring(0, start) + ' ' + text.substring(end);
setText(newValue);
requestAnimationFrame(() => {
textarea.selectionStart = textarea.selectionEnd = start + 4
})
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... recognized
Я создаю игру с набором текста и не могу понять, как сделать так, чтобы вкладка распознавалась как 4 пробела. ⇐ Html
Программисты Html
1760555382
Anonymous
Мои фрагменты в моей игре с набором текста представляют собой фрагменты кода, поэтому мне, очевидно, нужно использовать табуляцию, но у меня есть некоторая логика, которая отображает желтый блок для текущего символа, который я должен ввести, но когда я нажимаю Enter и пытаюсь нажать Tab, чтобы перейти к первому символу в новой строке, это просто сбивается.
И чтобы заставить средство проверки символов перейти к первому символу, мне нужно нажать пробел. Я добавил событие нажатия клавиши в текстовую область, чтобы предотвратить использование вкладки по умолчанию, но не могу понять больше.
Может быть, у кого-нибудь появится какая-нибудь идея? Я не уверен, какой код сюда поместить, потому что его будет так много, поэтому я просто спрашиваю гипотетически. Я ценю каждую мысль. Спасибо, ребята.
Кстати, я использую nextjs и tsx. Я не смог найти никакого полезного ответа.
Я попробовал это и предотвратил дефолт самостоятельно:
onKeyDown={(e: React.KeyboardEvent) => {
if (e.key === 'Tab') {
e.preventDefault();
const textarea = e.currentTarget;
const start = textarea.selectionStart;
const end = textarea.selectionEnd;
// 4 Spaces instead of Tab, PLEASE fix the bug
const newValue =
text.substring(0, start) + ' ' + text.substring(end);
setText(newValue);
requestAnimationFrame(() => {
textarea.selectionStart = textarea.selectionEnd = start + 4
})
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79791530/im-creating-a-typing-game-and-cant-figure-how-to-make-a-tab-being-recognized[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия