触发“点击”和“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 } });