0

Facebookで起こっていることのようなことをしようとしています.私は自分のブログのためにそれを作る必要があります. 以下に示すこのコードの問題は、Enter キーに応答しないため、それ以上実行されないことです。しかし、ajaxForm関数を使用せずにEnterキーチェックコードを使用すると、応答します。

コード:

$('#msg').keypress(function(e){
   if (e.keyCode == 13 && !e.shiftKey) {
      //checking for enter key as well as shift+enter
      $(document).ready(function() { 
         $('#form1').ajaxForm(function() {
            //for from id=form1 submitting without refreshing the page
            $('#msg').val(''); //clearing out the textarea with id=msg
           //loading fetchposts.php in id=display with new posts
            $("#displaychat").load("fetchposts.php")
         }); 
      }); 
   }
});​

要するに、Enterキーを押すとフォームが送信され、ページが更新されることなく新しい結果が表示されるということです。

4

1 に答える 1

0

keypress リスナー内に不要な document.ready 関数があります

私のコードでは、keypress リスナーを body 要素にアタッチしました。それはトリックを行う必要があります

$('body').keypress(function(e) {
    if (e.keyCode == 13 && !e.shiftKey) {
        $('#form1').ajaxForm(function() { 
            $('#msg').val(''); 
            $("#displaychat").load("fetchposts.php") 
        });
    }
});​ 
于 2012-12-17T22:47:08.637 に答える