Запустить событие на `click` и` enter`
У меня есть поисковый ящик на моем сайте. В настоящее время пользователи должны нажать кнопку отправки рядом с полем для поиска по почте в jQuery. Я бы хотел, чтобы пользователи также нажимали enter для поиска. Как я могу это сделать?
Jquery:
$('document').ready(function(){
$('#searchButton').click(function(){
var search = $('#usersSearch').val();
$.post('../searchusers.php',{search: search},function(response){
$('#userSearchResultsTable').html(response);
});
});
});
HTML:
<input type='text' id='usersSearch' /><input type='button' id='searchButton' value='search' />
Ответы
Ответ 1
Используйте keypress
событие в текстовом поле usersSearch
и найдите кнопку Enter. Если нажать кнопку "Enter", то запустите событие нажатия кнопки поиска, которое будет выполнять остальную работу. Попробуйте это.
$('document').ready(function(){
$('#searchButton').click(function(){
var search = $('#usersSearch').val();
$.post('../searchusers.php',{search: search},function(response){
$('#userSearchResultsTable').html(response);
});
})
$('#usersSearch').keypress(function(e){
if(e.which == 13){//Enter key pressed
$('#searchButton').click();//Trigger search button click event
}
});
});
Демо
Ответ 2
Вы вызываете оба прослушивателя событий с помощью .on()
, затем используйте if
внутри функции:
$(function(){
$('#searchButton').on('keypress click', function(e){
var search = $('#usersSearch').val();
if (e.which === 13 || e.type === 'click') {
$.post('../searchusers.php', {search: search}, function (response) {
$('#userSearchResultsTable').html(response);
});
}
});
});
Ответ 3
Что-то вроде этого будет работать
$('#usersSearch').keypress(function(ev){
if (ev.which === 13)
$('#searchButton').click();
});
Ответ 4
$('#form').keydown(function(e){
if (e.keyCode === 13) { // If Enter key pressed
$(this).trigger('submit');
}
});
Ответ 5
$('#usersSearch').keyup(function() { // handle keyup event on search input field
var key = e.which || e.keyCode; // store browser agnostic keycode
if(key == 13)
$(this).closest('form').submit(); // submit parent form
}
Ответ 6
Взгляните на keypress
функцию.
Я считаю, что клавиша enter
13
, поэтому вам нужно что-то вроде:
$('#searchButton').keypress(function(e){
if(e.which == 13){ //Enter is key 13
//Do something
}
});