0
私はスレッドのコメントを許可するブログアプリを構築しています。ユーザーは、特定のコメントの横にある「返信」ボタンをクリックして、他のコメントに返信することができます。これにより、コメントフォームが表示され、ユーザーは自分の返信を入力することができます。私はここに、この機能を構築するためにjQueryを使用していますブログに返信フォームを1つだけ表示するにはどうすればよいですか?
は私のコードです:
$(document).ready(function(){
$(".comment-reply").bind("click.a", function(){
// hide all forms
$(".comment-form-reply").hide();
// bind buttons with "click" events again, because one of them is unbinded
$(".comment-reply").bind("click.c", function() {
$(this).parent().siblings(".comment-form-reply").show();
});
// show the comment form for current item
$(this).parent().siblings(".comment-form-reply").show();
// unbind current button with "click" event to prevent multiple forms
$(this).unbind(".a");
});
$(".comment-reply").bind("click.b", function(){
event.preventDefault();
});
});
私が最初にした後、第2ボタンをクリックすると、それはうまく動作します。しかし、最初のボタンをもう一度クリックすると、2つのフォームが同時に表示されます。私はここに何か間違っているはずだと思いますが、私はそれを理解することができません。
[フィドル](https://jsfiddle.net/thefto_dev/kqa8z4L4/1/)< - 私はそれを行うだろうという概念it..justだろうその一つの方法多くのクリーナー –
ありがとう、@ Luminous_Dev。私は間違った方法でこれについて考えたと思う。あなたが示唆したように、ボタンをアンバインドするのではなく、すべてのフォームを非表示にして、必要なものを表示するだけです。 – guygbo