Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
How to trigger a button click on keyboard "enter" with JavaScript?
To trigger a button click when the user presses the "Enter" key, you can use JavaScript's event listeners to detect the keypress and programmatically trigger the button's click event.
Basic Example
Here's a complete example that triggers a button click when Enter is pressed inside an input field:
<!DOCTYPE html>
<html>
<head>
<title>Trigger Button Click on Enter</title>
</head>
<body>
<h1>Trigger Button Click on Enter Example</h1>
<input id="inputField" placeholder="Type something and press Enter..." />
<button id="alertBtn" onclick="alert('Button has been clicked!')">
Click Me
</button>
<p>Press the "Enter" key inside the input field to trigger the button.</p>
<script>
var inputText = document.getElementById("inputField");
inputText.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById("alertBtn").click();
}
});
</script>
</body>
</html>
Modern Approach Using event.key
The keyCode property is deprecated. Use event.key for modern browsers:
<!DOCTYPE html>
<html>
<body>
<input id="modernInput" placeholder="Modern approach - press Enter" />
<button id="modernBtn">Modern Button</button>
<script>
document.getElementById("modernInput").addEventListener("keyup", function(event) {
if (event.key === "Enter") {
event.preventDefault();
document.getElementById("modernBtn").click();
console.log("Button clicked via Enter key!");
}
});
document.getElementById("modernBtn").addEventListener("click", function() {
console.log("Button was clicked!");
});
</script>
</body>
</html>
Using keydown vs keyup
You can use either keydown or keyup events. keydown triggers immediately when the key is pressed:
<script>
document.getElementById("inputField").addEventListener("keydown", function(event) {
if (event.key === "Enter") {
event.preventDefault();
document.getElementById("alertBtn").click();
}
});
</script>
Multiple Input Fields
For multiple input fields that should trigger the same button:
<!DOCTYPE html>
<html>
<body>
<input class="trigger-input" placeholder="First input" />
<input class="trigger-input" placeholder="Second input" />
<button id="sharedBtn">Shared Button</button>
<script>
var inputs = document.querySelectorAll(".trigger-input");
inputs.forEach(function(input) {
input.addEventListener("keyup", function(event) {
if (event.key === "Enter") {
event.preventDefault();
document.getElementById("sharedBtn").click();
}
});
});
document.getElementById("sharedBtn").addEventListener("click", function() {
console.log("Shared button clicked!");
});
</script>
</body>
</html>
Key Points
- Use
event.key === "Enter"instead of deprecatedevent.keyCode === 13 -
event.preventDefault()prevents default form submission behavior -
element.click()programmatically triggers the button's click event - Both
keydownandkeyupevents work, withkeydownbeing more responsive
Comparison
| Method | Browser Support | Recommended |
|---|---|---|
event.keyCode === 13 |
All browsers | No (deprecated) |
event.key === "Enter" |
Modern browsers | Yes |
Conclusion
Use event.key === "Enter" with event listeners to trigger button clicks on Enter keypress. This provides better user experience by allowing keyboard navigation in web forms.
Advertisements
