ドキュメントの準備ができたら、AJAX を使用して投稿を読み込むフィードがあります。コードの実行時に要素の準備ができていないため、デリゲートを使用して多くの関数をバインドする必要があります。
$(posts).delegate('.edit_comment_text','keyup',function(e){
return false;
if (e.keyCode == 13 && e.shiftKey == false) {
//Post the new comment and replace the textbox with a paragraph.
var message_area = $(this).parent('.comment_message');
var new_message = $(this).val();
var comment_id = $(this).closest('.group_comment').attr('data-comment');
var url = 'functions/edit_comment.php';
var array = {
'comment':comment_id,
'message':new_message
}
$.post(url, array, function(data){
console.log(data);
$(message_area).html("");
$(message_area).text(new_message);
});
}
})
これは、イベントで実行するコードです。ユーザーがEnterキーを押したときにブラウザーが行をドロップするのをやめさせようとしましたが、このアクションはコードがトリガーされる前に実行されます。それを証明するために、ブロックの最上部に「return false」を配置しました。この例では、ユーザーが Enter キーを押したときにコードは実行されませんが、テキストエリアではまだ行が削除されます。
私の関数がデフォルトイベントの後に呼び出されるのは、JQueryのデリゲートと関係がありますか? 彼らはドキュメントでデフォルトのイベントを防ぐ例を挙げているので、バージョンのバグか何かでしょうか?
誰にもアイデアはありますか?
ありがとう!