gpt4 book ai didi

javascript - 克隆容器以供重用,以后无需附加所有事件和元素

转载 作者:行者123 更新时间:2023-11-29 10:42:52 24 4
gpt4 key购买 nike

我有一个容器 div 作为 jQuery 对象,用于在类(javascript 对象)中切换图像。在某些时候,用户可能会决定重置该容器。

我认为在我的构造函数中克隆容器是个好主意,而不是删除我附加到该容器的所有 HTML 元素和所有单击/拖动/调整大小监听器,以便我可以重新- 当我这样重置时得到它:

this.container = container;
//keep an original in case it needs to be reset
this.originalContainer = container.clone();

**重置方法:**

redrawImageFromOriginal: function (newImage) {
this.image = newImage;
this.container = this.originalContainer;
this.placeImage(this.getImageWidth(), this.getImageHeight(), this.getImgX(), this.getImgY());
},

显然,当我这样做时,我失去了我正在使用的容器的范围。所以 this.container 变得不同于我到目前为止一直使用的 this.container

现在,我的问题简而言之是:我怎样才能让容器恢复到它的默认行为(或者没有它),这样我以后就可以根据需要重建它。

最佳答案

克隆时需要同时克隆数据和事件,请引用以下代码:

this.container = container;

//保留原件以备不时之需

this.originalContainer = container.clone(true, true);

clone( [dataAndEvents] [, allDataAndEvents] )

dataAndEvents:一个 bool 值,指示事件处理程序和数据是否应与元素一起复制。默认值为 false。

allDataAndEvents:一个 bool 值,指示是否应复制克隆元素的所有子元素的事件处理程序和数据。默认情况下,它的值与第一个参数的值匹配(默认为 false)。

希望它对你有用:)

关于javascript - 克隆容器以供重用,以后无需附加所有事件和元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25404487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com