Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Обработка клавиш (https://javascript.ru/forum/jquery/83440-obrabotka-klavish.html)

savsoft 08.12.2021 02:46

Обработка клавиш
 
Всем привет,

Есть поле ввода, вводится слово и по нажатию клавиши Enter нажимается кнопка Check, поле ввода и кнопка скрываются, открывается спан с результатом, и открывается кнопка Next. Что-то типа

$('input').keydown( function(e) {
			
		if (e.keyCode == 13) {
			e.preventDefault();
			$("#check").click();
			$("#check").hide();
			$("#next").show();
			//Некоторые действия
		}	
			
});


Как сделать нажатие на кнопку#next тоже по нажатию Enter?
С другой клавишей получается, но по нажатию Enter кликается #check и сразу за ней появляется и кликается #next.

ksa 08.12.2021 08:24

Цитата:

Сообщение от savsoft
Как сделать нажатие на кнопку#next тоже по нажатию Enter?

Очевидно добавить аналогичный метод .click() и для next...

savsoft 08.12.2021 14:53

Цитата:

Сообщение от ksa (Сообщение 542235)
Очевидно добавить аналогичный метод .click() и для next...

Тогда срабатывают обе кнопки за одно нажатие Enter. Нужно, чтобы при отображении Enter, нажалась check, скрылась, обработалась, отобразилась next. Юзер посмотрел результат и нажал Enter, кликнулась next.

рони 08.12.2021 14:57

savsoft,
может минимальный макет сделать?

ksa 08.12.2021 15:09

Цитата:

Сообщение от savsoft
Нужно, чтобы при отображении Enter, нажалась check, скрылась, обработалась, отобразилась next. Юзер посмотрел результат и нажал Enter, кликнулась next.

Значит нужно распознавать состояние или этап на котором сейчас находимся...
На первом этапе - нажалась check, скрылась, обработалась, отобразилась next.
На втором этапе - кликнулась next...

И все это в одном обработчике.

ksa 08.12.2021 15:24

savsoft, что-то типа такого...
$('input').keydown( function(e) {
	if (e.keyCode == 13) {
		e.preventDefault();
		const on = $("#next")
		if(on.is(":visible")){
			on.click();
		} else{
			$("#check").click();
			$("#check").hide();
			on.show();
			//Некоторые действия
		}
	}	
});

savsoft 08.12.2021 16:36

Делал ночью, тормознул, и обработку клавиш сделал, не переделывая основной функционал, а отдельно.

Спасибо всем за пинок в нужном направлении.


Часовой пояс GMT +3, время: 11:45.