Trigger an event on `click` and `enter`
我的网站上有一个搜索框。 目前,用户必须单击该框旁边的提交按钮才能通过jquery的帖子进行搜索。 我想让用户也按Enter进行搜索。 我怎样才能做到这一点?
JQUERY:
1 2 3 4 5 6 7 8 | $('document').ready(function(){ $('#searchButton').click(function(){ var search = $('#usersSearch').val(); $.post('../searchusers.php',{search: search},function(response){ $('#userSearchResultsTable').html(response); }); }); }); |
HTML:
1 | <input type='text' id='usersSearch' /><input type='button' id='searchButton' value='search' /> |
在
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $('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 } }); }); |
演示
您使用
1 2 3 4 5 6 7 8 9 10 | $(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); }); } }); }); |
这样的东西会起作用
1 2 3 4 | $('#usersSearch').keypress(function(ev){ if (ev.which === 13) $('#searchButton').click(); }); |
1 2 3 4 5 | $('#form').keydown(function(e){ if (e.keyCode === 13) { // If Enter key pressed $(this).trigger('submit'); } }); |
您可以在文档加载时使用下面的按键事件。
1 2 3 4 5 | $(document).keypress(function(e) { if(e.which == 13) { yourfunction(); } }); |
谢谢
1 2 3 4 5 6 7 | $('#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 } |
看一下
我相信
1 2 3 4 5 | $('#searchButton').keypress(function(e){ if(e.which == 13){ //Enter is key 13 //Do something } }); |