2017-03-15 46 views
-1

我在搜索Stackoverflow时遇到了类似于我正在寻找的问题。然而,当我试图让输入键工作时,我查看的所有帖子都无法帮助我实现所要达到的目标。我正在为FreeCodeCamp开发一个项目,代码位于Codepen。我不知道什么是错的。我只知道它在我按下按钮(这是搜索图标)时起作用。触发器输入按键不起作用?

这是我在Codepen代码:

HTML

<form> 
     <input id="searchkeyword" type="text" placeholder="Search Wikipedia" /> 
     <i id="submitbtn" class="fa fa-search"></i> 
    </form> 

的Javascript

$(document).ready(function() { 

    $("#submitbtn").on("click", getWord); 

    $("#searchkeyword").keypress(function(e){ 
    if(e.which == 13){ 
    $("#submitbtn").on("click", getWord); 
    } 
    }); 

}); 
+0

它似乎在你的codepen工作,什么是不工作? – Keith

回答

2

的输入<form>内按键,默认情况下,将提交表单。如果你不希望这样的事情发生,你可以通过添加e.preventDefault();

更重要的是,你不点击按键按钮阻止它 - 你只是再结合 click事件。它需要是$("#submitbtn").click(),没有on部分。

$(document).ready(function() { 

    $("#submitbtn").on("click", getWord); // .on attaches an event to our button 

    $("#searchkeyword").keypress(function(e){ 
    if(e.which == 13){ 
     e.preventDefault(); 
     $("#submitbtn").click(); // .click triggers the .on("click", ...) event 
    } 
    }); 

}); 
+0

我懂了!谢谢你sooo !!!!!! –

+0

这很好:)再次感谢您的帮助。我正在学习成为前端开发人员并获得一份非常棒的工作。 –