JQuery по нажатию кнопок
Есть кнопка
<button type="button" id="inputstart" class="card-buttonaddtask" >Создать</button>
По нажатию пытаюсь добавить элемент с поля ввода в список.
// нажимаем ввод события
$('#title').on('keydown', function (e) {
if (e.keyCode === 13) {
// Оцениваем, есть ли контент в текстовом поле
if ($(this).val() === '') {
alert('Незаконная операция')
} else {
// Считываем исходные данные, хранящиеся локально
var local = getData();
// Затем добавляем последние данные в локальный массив
local.push({ title: $(this).val(), done: false });
// Затем сохраняем локальный массив в локальное хранилище
saveData(local)
// Выводим данные на страницу
load()
// Содержимое текстового поля пусто
$(this).val('');
}
}
});
Когда ввожу текст в поле ввода, то элемент попадает в список только по нажатию на Enter. Как выполнять код по нажатию на мою кнопку? Помогите, пожалуйста
Ответы (2 шт):
Автор решения: Александр Сычёв
→ Ссылка
для этого нужно узнать код клавиши, у вас он тут используется
e.keyCode === 13
для этого можно сделать так
$('body').keydown(function(e) {
console.log(`Кнопка ${e.originalEvent.key} ее код ${e.keyCode}`)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
кликните на эту область и нажимайте кнопки на клавиатуре, будут коды
Автор решения: Pavel Nazarian
→ Ссылка
$('#inputstart').click(function (e) {
// Оцениваем, есть ли контент в текстовом поле
if ($('#title').val() === '') {
alert('Незаконная операция')
} else {
// Считываем исходные данные, хранящиеся локально
var local = getData();
// Затем добавляем последние данные в локальный массив
local.push({ title: $('#title').val(), done: false });
// Затем сохраняем локальный массив в локальное хранилище
saveData(local)
// Выводим данные на страницу
load()
// Содержимое текстового поля пусто
$('#title').val('');
}
});