0

jQueryでダイアログボックスを作成し、次の提案を使用して、キャンセルボタンを押したときにデータをクリアしています。

// store the old content
var myOldContent = $("#cancelbutton").html();

// change content
$("#cancelbutton").html(someNewContent);

// and change it back
$("#cancelbutton").html(myOldContent);

問題は、このメソッドがデータをクリアすることですが、情報がクリアされた後に機能しない2つの入力を使用しています。

カレンダー入力(外部の.jsと呼ばれる)とcolorPickerがあり、これも外部の.jsで初期化されています。

これら2つのコンポーネントの機能を失うことなくデータをクリアするにはどうすればよいですか?

4

1 に答える 1

0

.html()イベントリスナーとデータを含む実際のDOMオブジェクトではなく、html自体を取得するだけのものは使用しないでください。

レイアウトに応じてさまざまな方法で実行できますが、このようなことを行うことをお勧めします。

// store the old content
var myOldContent = $("#cancelbutton").clone(true);  // 'true' so events are copied

// change content
$("#cancelbutton").html(someNewContent);

// bind new events for the newContent here

// and change it back
$("#cancelbutton").replaceWith(myOldContent);
于 2012-08-29T13:18:29.093 に答える