2012-03-28 5 views
1

Mootols에서 정렬 가능한 메뉴로 작업하고 있으며 '되돌리기'옵션을 구현하려고합니다. 나는 아주 간단한 해결책을 생각해 냈다 :Mootools 요소 복제본

  1. 처음에 루트 요소 복제본을 만든다.
  2. 편집 메뉴.
  3. 실행 취소를 클릭하면 ) a) 루트 요소가 empty()로 지워집니다. b) 내 menuCopy 요소 children의 다른 복제본을 만듭니다. c) 루트 요소가 menuCopy 하위의 복제본을 채택하고 있습니다.

아무 래도 한 번만 작동합니다. 그 후 내 메뉴 사본이 비어있는 루트 요소가됩니다. 지금까지 문제를 추적하는 데 실패했습니다. 도와 주셔서 감사합니다. 여기에 코드의 중요한 부분입니다

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

이 부분은 호출 후 :

가) 초기화 b)는 저장 메뉴 (그래서 되돌리기가 저장 지점으로 돌아갑니다)

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

찾을 실수 : VAR listContentsCopy = self.menuCopy.getChildren() 클론 (사실, 사실). 은 다음과 같아야합니다. var listContentsCopy = self.menuCopy.clone (true, true) .getChildren(); 나는 그것이 멍청한 줄 알았어! :) –

답변

1

코드를 보면 조금 더 쉬울 수 있습니다.

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

Then

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

가벼운 무게와 읽기 쉽습니다.