Как остановить обновление текстового поля html при вводе?
Я просто хочу спросить, как я могу остановить обновление моего текстового поля HTML, когда я нажимаю Enter.
<div id="topSearchBox">
<input id="Text1" type="text" value="search..."/>
<img id="topSearchBoxIcon" alt="search buttom" src="~Images/Search-32x32.png" width="18px" height="18px" />
</div>
У меня есть скрипт, который говорит ему сделать что-то еще, но после того, как скрипт завершен, он обновляет страницу в любом случае.
$(document).keyup(function (e) {
if (e.keyCode == 13) { // enter
Search();
}
});
Я немного читал об этом, но, похоже, ничего не работает.
4 ответа
Возвратите false в событии, чтобы прекратить событие по умолчанию (отправить). Это предполагает, что событие отправки запускается.
$(document).keyup(function (e) {
if (e.keyCode == 13) { // enter
Search();
return false; //this will stop the default event triggering
}
});
Вы также можете поместить его вне формы (если он внутри).
Примечание. Кроме того, лучше, если вы связываете событие непосредственно со своим вводом.
$('#Text1').keyup();
$(document).keyup(function (e) {
if (e.keyCode == 13) { // enter
Search();
return false; //you can also say e.preventDefault();
}
});
Если я правильно понял, возможно, страница обновлена, потому что у вас может быть кнопка ввода ввода (или кнопка) после в текстовое поле ввода, поэтому, когда вы нажимаете клавишу ввода, вы также отправляете саму форму.
попытаться остановить распространение события с
$(document).keyup(function (e) {
if (e.keyCode == 13) { // enter
e.stopPropagation();
Search();
}
})
Я ответил на это здесь. /questions/10204739/ostanovit-obnovlenie-stranitsyi-pri-nazhatii-vvod-v-elemente-vvoda-teksta/10204742#10204742 Речь идет о наличии только одного текстового поля в форме.