Tags: JavaScript

JavaScript: jak wywołać kliknięcie przycisku Enter w polu tekstowym?

Aby wyzwolić zdarzenie kliknięcia przycisku Enter w polu tekstowym w JavaScript, można użyć zdarzenia `keydown` lub `keyup`, które są wyzwalane, gdy użytkownik naciska lub puszczają klawisz na klawiaturze. Można nasłuchiwać tych zdarzeń na polu tekstowym i sprawdzić, czy naciśnięty klawisz to Enter (klawisz o kodzie 13).

Oto jak można to zrobić:

// Pobierz element input
var input = document.getElementById('myInput');

// Dodaj nasłuchiwanie zdarzenia keydown lub keyup
input.addEventListener('keydown', function(event) {
// Sprawdź, czy naciśnięty klawisz to Enter
if (event.keyCode === 13) {
// Klawisz Enter został naciśnięty
console.log('Enter został naciśnięty');

// Wykonaj akcję, np. wyślij formularz lub wyzwól inny przycisk
// ...
}
});

W powyższym kodzie, `event.keyCode` to przestarzała właściwość i może nie być obsługiwana w niektórych nowych środowiskach. Zamiast tego zalecane jest używanie `event.key`:

input.addEventListener('keydown', function(event) {
if (event.key === 'Enter') {
// Klawisz Enter został naciśnięty
console.log('Enter został naciśnięty');

// Wykonaj akcję
// ...
}
});

Jeśli chcesz "wyzwolić" zdarzenie Enter programowo, bez faktycznego naciśnięcia klawisza przez użytkownika, można stworzyć i wywołać nowe zdarzenie `KeyboardEvent`:

// Funkcja do wyzwalania zdarzenia Enter
function triggerEnter(inputElement) {
// Stwórz nowe zdarzenie KeyboardEvent
var event = new KeyboardEvent('keydown', {
key: 'Enter',
keyCode: 13,
which: 13,
bubbles: true
});

// Wyzwól zdarzenie na elemencie input
inputElement.dispatchEvent(event);
}

// Użycie funkcji
triggerEnter(input);

Powyższy kod tworzy i wyzwala zdarzenie `keydown` z kluczem Enter na danym elemencie input. Zdarzenie to można nasłuchiwać i obsługiwać tak samo, jak zdarzenie wywołane przez użytkownika.