2017-03-09 9 views
0

jqueryを使用してデータを送信するためにpressを入力しようとしていますが、コードが機能していません。誰でも私がここで何が欠けているか教えていただけますか?Jquery keydownは動作しません

<textarea name="reply" class="reply" id="replyChat" placeholder="Write your message"></textarea> 

JS

function SendMessage() { 
     $.ajax({ 
     type: "POST", 
     url: "/ajax/reply", 
     data: dataString, 
     cache: false, 
     success: function(html) { 
      $('.messages-body').append(html); 
     } 
     }); 
    } 

    $('#replyChat').bind('keydown', function(e) { 
     if(e.keyCode==13) { 
     SendMessage(); 
    } 
    }); 
    $('body').on("click",".reply-btn",function() { 
    SendMessage(); 
}); 

クリック機能は、ここでは動作しないだけのKeyDown正常に動作しています。

+1

、それは私のために働いて、要素を動的に –

+0

を生成しているあなたはjsfiddle – ArUn

+0

を投稿することができ、ドキュメント準備ができて関数内のコードですか? – osanger

答えて

1

動的に生成された要素にはevent delegationを使用しますが、jQueryによって提案されるevent.whichプロパティを使用します。

function SendMessage() { 
 
    console.log('hi'); 
 
    // replace with your ajax code 
 
} 
 

 
$('body').on('keydown', '#replyChat', function(e) { 
 
    if (e.which == 13) { 
 
    SendMessage(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea name="reply" class="reply" id="replyChat" placeholder="Write your message"></textarea>

関連する問題