Javascript 按enter键搜索不工作?

Javascript 按enter键搜索不工作?,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用wikipedia的API构建wikipedia查看器,但我有一个小问题。如果我手动按下搜索按钮,一切正常,但如果我按下回车键,一切都不会发生。以下是js代码: $(document).ready(function () { $("#input").keyup(function (event) { if (event.keyCode == 13) { $("#submit-button").click(); } }); });

我正在尝试使用wikipedia的API构建wikipedia查看器,但我有一个小问题。如果我手动按下搜索按钮,一切正常,但如果我按下回车键,一切都不会发生。以下是js代码:

  $(document).ready(function () {
    $("#input").keyup(function (event) {
     if (event.keyCode == 13) {
        $("#submit-button").click();
     }
  });
});

function wikiSearch() {

  var query = document.getElementById("input").value;
  var wiki_api = 'https://en.wikipedia.org/w/api.php';

  var api = "https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exlimit=max&format=json&exsentences=1&exintro=&explaintext=&generator=search&gsrlimit=10&gsrsearch=";
  var wikilink = 'http://en.wikipedia.org/?curid=';

  var link = api + query;
  var html = "";

  $.ajax({
    url: link,
    type: "get",
    dataType: "JSONP",
    success: function (data) {
        var results = data.query.pages;
        var pgs = Object.keys(results);
        pgs.forEach(function (page) {
            var title = results[page].title;
            var text = results[page].extract;
            var pagelink = wikilink + results[page].pageid;

            html += '<a href="' + pagelink + '" target="_blank">' + '<div class="item">' + title + '<br>' + '<p class="description-text" >' + text + '</p>' + '</div></a>  <br> ';
        });

        $('#display').html(html);

    }
 });
}
$(文档).ready(函数(){
$(“#输入”).keyup(函数(事件){
如果(event.keyCode==13){
$(“#提交按钮”)。单击();
}
});
});
函数wikiSearch(){
var query=document.getElementById(“输入”).value;
var wiki_api='1〕https://en.wikipedia.org/w/api.php';
变量api=”https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exlimit=max&format=json&exsentences=1&exintro=&explaintext=&generator=search&gsrlimit=10&gsrsearch=";
var wikilink=http://en.wikipedia.org/?curid=';
var-link=api+query;
var html=“”;
$.ajax({
网址:link,
键入:“获取”,
数据类型:“JSONP”,
成功:功能(数据){
var results=data.query.pages;
var pgs=Object.keys(结果);
pgs.forEach(功能)(第页){
var title=结果[第页]。标题;
var text=结果[page]。提取;
var pagelink=wikilink+results[page].pageid;
html+='
'; }); $('#display').html(html); } }); }
下面是html代码:

<div class="container" id="content">
  <h1>Wikipedia Viewer</h1>

  <form>
    <input type="text" name="search" placeholder="Search Wikipedia" id="input">
  </form>

  <a href="https://en.wikipedia.org/wiki/Special:Random" class="btn btn-info" target="_blank" id="random">Random page</a>

  <input id="submit-button" type="button" value="Search" onclick="wikiSearch()" class="btn btn-success">

  <div id="display"></div>

</div>

维基百科查看器
这里有一个jsfiddle:

替换
input type=“button”
submit
。另外,
input type=“submit”
也应该在表单中。在这种情况下,您不需要检查keycode&
preventDefault
将阻止表单提交的默认行为,因为表单是使用ajax提交的。按enter/return键时,它将自动找到第一个提交按钮,并触发单击操作

$(文档).ready(函数(){
$(“#搜索表单”)。提交(功能(e){
e、 预防默认值();
维基搜索()
})
});
函数wikiSearch(){
console.log('wikiSearch')
var query=document.getElementById(“输入”).value;
var wiki_api='1〕https://en.wikipedia.org/w/api.php';
变量api=”https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exlimit=max&format=json&exsentences=1&exintro=&explaintext=&generator=search&gsrlimit=10&gsrsearch=";
var wikilink=http://en.wikipedia.org/?curid=';
var-link=api+query;
var html=“”;
$.ajax({
网址:link,
键入:“获取”,
数据类型:“JSONP”,
成功:功能(数据){
var results=data.query.pages;
var pgs=Object.keys(结果);
pgs.forEach(功能)(第页){
var title=结果[第页]。标题;
var text=结果[page]。提取;
var pagelink=wikilink+results[page].pageid;
html+='
'; }); $('#display').append(html); } }); }

维基百科查看器

为什么不在javascript中调用函数

$("#submit-button").click(function(){
   wikiSearch();
})
然后单击输入的参数将其删除。

尝试
$(“#提交按钮”)。触发(“单击”)
或
您只需调用函数
wikiSearch()
,而不是触发提交按钮的单击事件