jquery中的keypress事件不能很好地工作

时间:2016-11-06 22:48:29

标签: javascript jquery

我创建了一个搜索维基百科文章的页面。当我点击按钮搜索,或者当我在输入表单内按Enter键时,我想要页面搜索。问题是只有在我点击按钮搜索时,回车键才有效。为什么?

页:http://codepen.io/Juan1417/pen/XNJeWd

$(document).ready(function(){

      $("#searchTerm").keypress(function(e){

        if(e.which==13) $("#search").click();

      });  

      $("#search").click(function(){

        var searchTerm=$("#searchTerm").val();

        var url="https://en.wikipedia.org/w/api.php?action=opensearch&search="+searchTerm+"&format=json&callback=?";

        $.ajax({

          type:"GET",
          url:url,
          async:false,
          dataType:"json",
          success:function(data){

           for(var i=0;i<data[1].length;i++){

             $("#output").prepend("<li><a href="+data[3][i]+" target='_blank'>"+data[1][i]+"</a><br><span>"+data[3][i]+"</span><br>"+data[2][i]+"</p></li>");

           } 

          },

          error:function(errorMessage){

            alert(errorMessage);

          }

        });

      });

   });

1 个答案:

答案 0 :(得分:0)

好像你没有停止输入后运行的功能(所以提交表单)。

if(e.which==13) {
  $("#search").click();
  e.preventDefault();
  return false;
}