【问题标题】:Mootools Element cloneMootools 元素克隆
【发布时间】:2012-03-28 12:47:24
【问题描述】:

我正在使用 Mootols 中的可排序菜单,并尝试实现“还原”选项。我想出了一个非常简单的解决方案:

  1. 一开始就创建根元素克隆。
  2. 编辑菜单。
  3. 单击撤消时: a) 用 empty() 清除根元素。 b)我正在创建我的 menuCopy 元素子项的另一个克隆。 c) 根元素采用 menuCopy 子代的克隆。

不知何故,它只工作一次 - 之后我的菜单副本变成了空的根元素。到目前为止,我无法追踪问题。非常感谢帮助。以下是代码的重要部分:

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);

【问题讨论】:

  • 发现错误:var listContentsCopy=self.menuCopy.getChildren().clone(true,true);应该是: var listContentsCopy=self.menuCopy.clone(true,true).getChildren();我就知道这很蠢! :)

标签: javascript oop object mootools jquery-ui-sortable


【解决方案1】:

看看你的代码可能会更容易一些:

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

然后

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

只是一个想法,似乎更轻量级并且更易于阅读。

【讨论】:

    猜你喜欢
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2013-01-26
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    相关资源
    最近更新 更多