1

これは簡単だと思いますが、頭を叩いています!

編集可能な優れたjQueryプラグイン(http://www.appelsiini.net/projects/jeditable)を使用しています。ユーザーはその場でフォームを作成し、クリックしてタイトルやテキストの本文などを編集できます。

ユーザーが新しい質問を作成するたびに、次のようにプラグインを再バインドします。

$('.edit').editable()

クラス'edit'のすべての要素は、編集可能である必要があります。

問題は、以前の「編集」要素が二重にバインドされているように見えることです...つまり、クリックして編集すると、次の入力フィールドが表示されます。

<input class="">

2回(またはそれ以上)バインドされるので、これは理にかなっています。この問題にどのように取り組むのが最善ですか?私の本能は、すべての「編集」要素でプラグインのバインドを解除してから再バインドすることですが、これを行う方法がわかりません。

ご協力いただきありがとうございます

4

2 に答える 2

5

「プラグイン」は、に追加された単なる機能jQuery.fnです。作成者がremoveまたはdestroyメソッドを定義しない限り、関数を元に戻すことはできません。

編集:編集可能な関数は、パラメーターが指定される'destroy'と、プラグインのバインドを解除します。

于 2009-10-10T17:33:02.713 に答える
1

セレクターを新しく作成されたフォームのみにスコープします。

$('<form>...</form>').appendTo('someDiv')
                     .find('.edit')
                     .editable();

また

$('form:last').find('.edit')
              .editable();

フォームのセレクターは単なる例であることに注意してください。edit適切なフォームを見つけて、その中のクラスで装飾されたアイテムにのみ編集可能なプラグインを適用する必要があります。

于 2009-10-10T16:47:34.130 に答える