2017-03-15 27 views
-1

私が探していた質問に類似したStackoverflowを検索しました。しかし、私が見たすべての投稿は、私がEnterキーを働かせようとしているときに達成しようとしているもので私を助けませんでした。私は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

Anは<form>内のキープレスを入力し、デフォルトでは、フォームを送信します。あなたはこれが起こることをしたくない場合は、あなたがキー操作のボタンをクリックしていないもっと重要な

e.preventDefault();を追加することによって、それを防ぐことができます - あなただけのクリックイベントを再結合しています。 の部分を除いて、$("#submitbtn").click()である必要があります。

$(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

私はそれを得た!大変ありがとうございます!!!!!! –

+0

それはいいです:)もう一度あなたの助けに感謝します。私はフロントエンドの開発者になるために勉強しているし、素晴らしい仕事を得る。 –

関連する問題