У вас есть ошибка синтаксиса. Вам просто не хватало закрывающей фигурной фигурной скобки, а ваше заявление if
.
// Modern browsers send an event object to the event
// callback function
function key(evt){
// But, older versions of IE expose the event as a property
// of the window object, so let's make sure we have a good
// reference to it:
evt = evt || window.event;
// Getting the key code has never been standardized
if (evt.which === 13){
document.getElementById('btn').click();
} // <-- You were missing this.
}
function test(){
alert('okay');
}
<form>
\t <input type="text" placeholder="Write your word" onkeydown = "key()"/>
</form>
<button id="btn" onClick="test()">test</button>
И мы действительно должны избегать встроенный HTML обработки событий, поскольку это нарушает разделение задач между HTML и JavaScript, это вызывает глобальную анонимную функцию прокси, который будет создан, который модифицирует this
связывания в функции обратного вызова и не использовать современную W3C DOM Level 2 Event Handling standard
Вот современный способ подключить обработчик событий вверх:
window.addEventListener("DOMContentLoaded", function(){
var btn = document.getElementById("btn");
var txt = document.getElementById("txtInput");
btn.addEventListener("click", test);
txt.addEventListener("keydown", key);
// Modern browsers send an event object to the event
// callback function
function key(evt){
// But, older versions of IE expose the event as a property
// of the window object, so let's make sure we have a good
// reference to it:
evt = evt || window.event;
console.log("Callback function invoked by: " + evt.target);
console.log("Key pressed was: " + evt.which);
// Getting the key code has never been standardized until
// fairly recently. event.which is the recommended approach
if (evt.which === 13){
document.getElementById('btn').click();
} // <-- You were missing this.
}
function test(){
alert('okay');
}
});
<input type="text" id="txtInput" placeholder="Write your word">
<button id="btn">test</button>
Цель состоит в том, чтобы предупредить об этом? Просто вызовите функцию, которая делает предупреждение – Ju66ernaut
Есть ли причина в форме кнопки? Таким образом, вы можете прослушать событие отправки. – hasanain
Все кажется правильным. Вы проверили синтаксис? – pcbabu