Size: a a a

2020 November 27

AH

Andrii Haidulian in Svelte [svelt]
Alexander Ponomarev
Но ведь стрелки на клавиатуре имеют дефолтное действие по движению каретки. Как же инпуты переключать или каретку двигать? =)
Изменением фокуса. Как раз то, что у меня тут не получается)
источник

AP

Alexander Ponomarev in Svelte [svelt]
Andrii Haidulian
Изменением фокуса. Как раз то, что у меня тут не получается)
я не об этом, нажатие стрелки в инпуте двигает каретку\курсор влево\вправо или в начало\конец. Как ее двигать если фокус будет на другой инпут слетать.
источник

К

Константин in Svelte [svelt]
Andrii Haidulian
Изменением фокуса. Как раз то, что у меня тут не получается)
насколько я понимаю, тебе нужно стрелками менять класс у элемента на какой-нибудь selected, точнее стрелками перемещать его между элементами с табстопом, чтобы выбранный элемент подсвечивался, а по энтеру тебе нужно ставить фокус в элемент, т.к. на тв при этом врубается режим ввода. Так?
источник

AP

Alexander Ponomarev in Svelte [svelt]
Константин
насколько я понимаю, тебе нужно стрелками менять класс у элемента на какой-нибудь selected, точнее стрелками перемещать его между элементами с табстопом, чтобы выбранный элемент подсвечивался, а по энтеру тебе нужно ставить фокус в элемент, т.к. на тв при этом врубается режим ввода. Так?
это наверно проще делать заворачивая каждый инпут в <div tabindex="0"><input tabindex="-1"/></div> и двигать фокус по дивам, а не перемещать класс. На диве ловить энтер и фокусить внутренний инпут.
источник

К

Константин in Svelte [svelt]
Alexander Ponomarev
это наверно проще делать заворачивая каждый инпут в <div tabindex="0"><input tabindex="-1"/></div> и двигать фокус по дивам, а не перемещать класс. На диве ловить энтер и фокусить внутренний инпут.
да, я именно к этому и веду
источник

К

Константин in Svelte [svelt]
Alexander Ponomarev
это наверно проще делать заворачивая каждый инпут в <div tabindex="0"><input tabindex="-1"/></div> и двигать фокус по дивам, а не перемещать класс. На диве ловить энтер и фокусить внутренний инпут.
хотя нет, он не по табиндексам же будет двигаться. У него кнопки вверх и вниз есть
источник

К

Константин in Svelte [svelt]
но табиндексы тут помогут как метки
источник

AP

Alexander Ponomarev in Svelte [svelt]
Табиндексы могут помочь как элемент который можно фокусить, а все keydown эвенты летят из зафокушенного элемента. Т.е можно слушать на диве enter и обрабатывать на каждом по разному, у keydown эвента target будет этот див.
источник

К

Константин in Svelte [svelt]
за которые будет цепляться выделение. В любом случае, у него конкретная проблема.
Нужно эвент повесить на документ на маунте и горизонтальные переходы делать по табиндексам, а вертикальные - по координатам ближайших элементов с табиндексами
источник

К

Константин in Svelte [svelt]
>Табиндексы могут помочь как элемент который можно фокусить

Собственно да, это изначальная мысль.
источник

К

Константин in Svelte [svelt]
Alexander Ponomarev
Табиндексы могут помочь как элемент который можно фокусить, а все keydown эвенты летят из зафокушенного элемента. Т.е можно слушать на диве enter и обрабатывать на каждом по разному, у keydown эвента target будет этот див.
+1
источник

AH

Andrii Haidulian in Svelte [svelt]
Судя по всему onMount таки надо было сразу делать. По крайней мере сдвинуть на пароль стрелкой вниз получилось
источник

AH

Andrii Haidulian in Svelte [svelt]
Константин
за которые будет цепляться выделение. В любом случае, у него конкретная проблема.
Нужно эвент повесить на документ на маунте и горизонтальные переходы делать по табиндексам, а вертикальные - по координатам ближайших элементов с табиндексами
а вот это интересно
источник

AH

Andrii Haidulian in Svelte [svelt]
когда 3 поля, то можна и так.  А, например, если это виртуальная клавиатура. Там замахаешься определять, где находишься и куда надо переходить при нажатии какой стрелки.
источник

AH

Andrii Haidulian in Svelte [svelt]
источник

AH

Andrii Haidulian in Svelte [svelt]
Если кому интересно, как то так получилось. Хоть понимаю, что неоптимально наверное
источник

К

Константин in Svelte [svelt]
Andrii Haidulian
когда 3 поля, то можна и так.  А, например, если это виртуальная клавиатура. Там замахаешься определять, где находишься и куда надо переходить при нажатии какой стрелки.
да нет, легко всё. Я ж написал выше, какой алгоритм. По координатам элементов ориентироваться. Все элементы с табиндексами ты знаешь. На каком стоишь - ты знаешь. Значит, знаешь, куда должна привести стрелка вверх или вниз.
источник

AH

Andrii Haidulian in Svelte [svelt]
Сейчас и буду пробовать. Спасибо!
источник

AH

Andrii Haidulian in Svelte [svelt]
Alexander Ponomarev
я не об этом, нажатие стрелки в инпуте двигает каретку\курсор влево\вправо или в начало\конец. Как ее двигать если фокус будет на другой инпут слетать.
фокус делается только стрелками вверх-вниз. Стрелками вправо-влево можно по инпуту ходить
источник
2020 November 28

ER

Eric Rovell in Svelte [svelt]
Alexander Ponomarev
не генерируются d.ts файлы?
Не смогу отписаться по этому поводу. Саппер сломали при обновлении до 3-30 версии. Там breaking changes для плагина, даже следуя инструкциям все ломается.

В ишаке написали, что не будут тратить время, раз саппер is going away🤣

https://github.com/sveltejs/rollup-plugin-svelte/issues/160
источник