「a」要素にクリックイベントがあります:
<a href="#" class="edit-row">Edit</a>
この要素にクリック イベントを追加しました。
$(document).on('click', "a.edit-row", editRow);
編集ボタンをクリックすると、editRow 関数が呼び出されます。この関数は Edit < a > 要素を変更します。
$(this).find("a.edit-row").html("Save").removeClass("edit-row").addClass("save-row").off('click').click(saveRow);
これはすべてうまくいきます。
「保存」をクリックすると、saveRow 関数が呼び出されます。この関数内で、「編集」ボタンに戻りたいと思います。
これは、これを達成するために使用したバージョンの 1 つです。
$(this).off('click').html("Edit").toggleClass("save-row").toggleClass("edit-row");
私は他のこともいくつか試しました。しかし、何が起こるか、保存をクリックすると編集に変わりますが、すぐに再び保存に戻ります。
$(document) 部分のクリックイベントがトリガーされているようです。ただし、クラスを変更するときにこのクリックイベントがトリガーされるのを無効にしたり、防止したりすることはできないようです。toggleClass() ではなく、もう一度クリックしたときに起動する必要があります。
ここで何が欠けていますか?