私はユーザーの投稿を返すページを持っています。これらの投稿は新しいコメントが投稿された後にjqueryコードを使ってオンザフライでコメントできます。投稿の下の新しいコメントとDelete
ボタン。問題は、ページをリロードしない限り、新しく挿入された要素でDelete
ボタンが機能しないことです。ソリューションが.on()メソッドを使用していると読んでいますが、これを実装する方法は少し混乱しています。私はここに、どのように変更する必要があるかを理解していない.on()を使用してjqueryを使用してページ上の動的挿入ボタンにイベントをアタッチする
$(document).ready(function() {
$("button[id*='deletecmnt_']").click(function() {
var id = this.id.replace('deletecmnt_', '');
var comment_card_id = ('#comment_' + id);
var token = $(this).data('token');
$.ajax({
url: '../comment/' + id,
type: 'post',
data: {_method: 'delete', _token: token},
success: function() {
// Checks for display of comment card and removes it
if ($(comment_card_id).is(":visible")) {
$(comment_card_id).fadeOut("fast");
}
}
})
})
});
: は私が新たに挿入されたコメントでポスト部分を更新し、このコメントを削除機能である一つの機能を持っています。
コードを最小限に減らすことは可能です。 – jonathanGB
をお待ちしています。私はお試しになります。 – Chriz74
コードの特定の点が呼び出されていないかどうかを確認するために、 'console.log(" "と呼ばれる)をキーポイントに配置することもお勧めします。問題を見つけるのは非常に便利です。 –
jonathanGB