作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个容器 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/
命令 svn status 返回如下内容: ? SomeClient\BUTCHERED.docx M SomeClient\Development notes.txt ?
我是一名优秀的程序员,十分优秀!