触发“点击”和“input”事件

我在我的网站上有一个search框。 目前,用户必须点击框旁边的提交button才能通过jquery的post进行search。 我想让用户也按回车进行search。 我怎样才能做到这一点?

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' /> 

在用户usersSearch文本框上使用keypress事件,并查找inputbutton。 如果inputbutton被按下,则触发searchbutton点击事件,该事件将完成剩余的工作。 尝试这个。

 $('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 } }); }); 

演示

你使用.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); }); } }); }); 

像这样的东西将工作

 $('#usersSearch').keypress(function(ev) if (ev.which === 13) $('#searchButton').click(); }); 
 $('#form').keydown(function(e){ if (e.keyCode === 13) { // If Enter key pressed $(this).trigger('submit'); } }); 
 $('#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 } 

看看keypress function 。

我相信enter键是13所以你会想要的东西,如:

 $('#searchButton').keypress(function(e){ if(e.which == 13){ //Enter is key 13 //Do something } });