2012-03-28 7 views
1

私はMootolsのソート可能なメニューで作業していて、 '復帰'オプションを実装しようとしています。私は非常に簡単な解決策を考え出しました。Mootools要素のクローン

  1. ルート要素のクローンを最初に作成します。
  2. 編集メニュー。
  3. 元に戻すとき: a)ルート要素は空()でクリアされます。 b)menuCopy要素の子の別のクローンを作成しています。 c)ルート要素は、menuCopyの子のクローンを採用しています。

何とか1回だけ動作します。その後、メニューコピーが空のルート要素になります。これまで私は問題をたどって失敗しています。助けていただければ幸いです。ここでは、コードの重要な部分です:

this.menuCopy = $(this.options.menu).clone(true,true); 

この部分が呼び出された後の:

a)の初期化 b)の節約メニュー(そうこの元に戻すにはセーブポイントに戻っ)

$(self.options.menu).empty(); 
    var listContentsCopy=self.menuCopy.getChildren().clone(true,true); 
    $(self.options.menu).adopt(listContentsCopy); 
+0

見つかった間違い: var listContentsCopy = self.menuCopy.getChildren()。clone(true、true); は、次のようになります。 var listContentsCopy = self.menuCopy.clone(true、true).getChildren(); 私はそれが何かばかげたことを知っていました! :) –

答えて

1

あなたのコードを見てみると、このようなものは少し簡単かもしれません:

this.menuCopy = $(this.options.menu).getChildren().clone(true,true); 

その後

$(self.options.menu).empty().adopt(this.menuCopy); 

だけ考え、もう少し軽量かつ読みやすいようです。

関連する問題