Итак, код, который у меня есть, таков:
<fieldset id="LinkList">
<input type="text" id="addLinks" name="addLinks" value="http://">
<input type="button" id="linkadd" name="linkadd" value="add">
</fieldset>
Это не в a, <form>
а точно так же, как внутри <div>
. Однако, когда я textbox
ввожу что-то в вызываемые «addLinks», я хочу, чтобы пользователь мог нажать Enter и вызвать «linkadd», button
который затем запустит функцию JavaScript.
Как я могу это сделать?
Спасибо
Изменить: я нашел этот код, но, похоже, он не работает.
$("#addLinks").keyup(function(event){
if(event.keyCode == 13){
$("#linkadd").click();
}
});
keypress
и проверитьe.charCode==13
(кнопка ввода).keypress
илиkeydown
упомянул в этом ответе, - это путь.Ответы:
источник
Это …… 2020 год. И я верю, что это все еще верно.
НЕ ИСПОЛЬЗУЙ
keypress
keypress
событие не срабатывает , когда пользователь нажимает клавишу , которая не производит каких - либо символов , таких как Tab, Caps Lock, Delete, Backspace, Escape, слева и справаShift , функциональные клавиши ( F1- F12).Он устарел.
НЕ ИСПОЛЬЗУЙ
KeyboardEvent.keyCode
Что мне тогда использовать? (Хорошая практика)
источник
if (event.key == "Enter") { document.querySelector("#linkadd").click(); }
:?.key
не во всех браузерах поддерживается: caniuse.com/#feat=keyboardevent-key - около 10% людей используют браузеры, которые его не поддерживают.Есть решение без js.
Установите
type=submit
кнопку, которую вы хотите использовать по умолчанию, иtype=button
другие кнопки. Теперь в форме ниже вы можете нажать Enter в любых полях ввода, аRender
кнопка будет работать (несмотря на то, что это вторая кнопка в форме).Пример:
Протестировано в FF24 и Chrome 35 (
formaction
это функция html5, ноtype
это не так).источник
button
сsubmit
submit
обработчику формы, а не кclick
обработчику кнопкиНажатие Enter в поле вызовет отправку формы, и обработчик отправки запустится.
источник
Вы можете добавить обработчик событий к своему вводу следующим образом:
источник
Он работает, когда input type = "button" заменяется на input type = "submit" для кнопки по умолчанию, которую необходимо активировать.
источник
Прежде всего добавьте файл библиотеки jquery jquery и вызовите его в своей html-голове.
а затем используйте код на основе jquery ...
источник
Это должно сработать, я использую jQuery, вы можете писать простой javascript.
Замени
sendMessage()
на свой функционал.источник
Основываясь на некоторых предыдущих ответах, я пришел к следующему:
Взгляните на скрипку
РЕДАКТИРОВАТЬ: если вы не хотите добавлять дополнительные элементы html, вы можете сделать это только с помощью JS:
источник
Я нашел руководство на w3schools.com, их страница «Попробуйте меня» находится ниже.
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_trigger_button_enter
Это работало в моем обычном браузере, но не работало в моем приложении php, которое использует встроенный браузер php.
Немного поигравшись, я придумал следующую альтернативу на чистом JavaScript, которая работает в моей ситуации и должна работать в любой другой ситуации:
HTML Нажмите клавишу ввода внутри текстового поля, чтобы активировать кнопку.
источник
источник
Я использую кнопку кендо. Это сработало для меня.
источник