2

インライン編集を可能にする小さなjQueryプラグインを書いています(私の目的のために、非常に小さな軽量のカスタムプラグインが必要です)。元のタグを新しい値で更新すると、編集を開始するために使用された編集画像が削除されるため、それ以上の編集は許可されないことを除いて、すべてがうまく機能します。

編集画像を置き換えて、次のことを試みましたが、編集画像にはclickハンドラーが関連付けられていません。

HTMLは少しこのように見えます

<h2 class="inlineEdit">Thing to edit<a href='' class='pencil_edit_image'></a></h2>

javascriptは次のようになります。

var editThis = $(".inlineEdit");

var existinglink = editThis.find(".pencil_edit_image");
editThis.text($(this).val());
editThis.append(existinglink);

どうすればこれを達成できますか?

4

2 に答える 2

4

交換する前に取り外してみましたか?

var existinglink = editThis.find(".pencil_edit_image");
existingLink.detach();
editThis.text($(this).val());
editThis.append(existinglink);
于 2012-06-15T10:07:44.593 に答える
1

jQuery はテキスト ノードをサポートしていないため、簡単にアクセスできるようにテキストを要素に配置するのが最も簡単です。

<h2 class="inlineEdit"><span class="editable">Thing to edit></span><a href='' class='pencil_edit_image'></a></h2>

 $(".inlineEdit .editable").text($(this).val());

余分な要素を追加せずにテキスト ノードにアクセスするには、DOM 要素を使用できます。

 $(".inlineEdit")[0].firstChild.innerHTML = $(this).val();
于 2012-06-15T10:10:41.610 に答える