Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何克隆元素及其相关的事件回调?

如何克隆元素及其相关的事件回调?
EN

Stack Overflow用户
提问于 2015-10-26 09:54:01
回答 2查看 337关注 0票数 3

我正在克隆一个元素并将其添加到DOM中。我预期新创建的克隆元素中的this将引用自身,但它似乎引用了原始的克隆元素。

为了说明,我创建了以下脚本。通过单击"cloneIt",添加一个新元素,单击新元素时,this引用原始克隆。我的愿望是让data('type')显示“添加”。

如何克隆元素并使回调与新克隆的对象有关?

https://stackoverflow.com/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('.fileupload').fileupload({
    start: function (e, data) {
        console.log('start', this, $(this).parent().data('type'));
    }
})
    .on('fileuploadsubmit', function (e, data) {
    console.log('fileuploadsubmit', this, $(this).parent().data('type'));
});

$('#cloneIt').click(function () {
    $('#clone').clone(true).removeAttr('id').data('type', 'added').appendTo('#container');
});

#clone {
    display:none;
}

<button id="cloneIt">cloneIt</button>
<ul id="container">
    <li id="clone" data-type="clone">
        <input class="fileupload" name="file" type="file" />
    </li>
    <li data-type="existing">
        <input class="fileupload" name="file" type="file" />
    </li>
</ul>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-26 11:16:59

看来,在调用this时,start回调的.fileupload()概念被锁定,this被转发到克隆中。

就我个人而言,我会将LI模板与live分开,并且不会在它上调用.fileupload()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button id="cloneIt">cloneIt</button>
<ul id="template">
    <li data-type="original">
        <input class="fileupload" name="file" type="file" />
    </li>
</ul>
<ul id="container">
    <li data-type="existing">
        <input class="fileupload" name="file" type="file" />
    </li>
</ul>

CSS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#template {
    display:none;
}

最初,只在.fileupload()中的输入上调用#container,然后在模板的任何克隆之后调用它。

Javascript

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('#container .fileupload').fileupload({
    start: function (e, data) {
        console.log('start', this, $(this).parent().data('type'));
    }
}).on('fileuploadsubmit', function (e, data) {
    console.log('fileuploadsubmit', this, $(this).parent().data('type'));
});

$('#cloneIt').click(function () {
    $('#template li').clone().data('type', 'clone').appendTo('#container').find('.fileupload').fileupload(...);
});

我会推荐这种方法与任何插件。克隆一个广泛化的元素是危险的。克隆行为不能保证是可靠的。有了一些插件,你可能会逃脱它;而对其他插件,你不会。

票数 2
EN

Stack Overflow用户

发布于 2015-10-26 10:51:59

http://jsfiddle.net/1as47aeb/5/

在创建DOM对象之后,似乎需要再次从库调用fileupload方法。

如果您检查代码中的DOM,您将看到属性存在,并添加了该属性,您可以在克隆后在原始代码中查询它。

编辑

纠正了两个输入事件在复制输入上载时调用的行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33352417

复制
相关文章
如何修复WordPress内容更新和发布失败错误
如果您的WordPress网站在您尝试进行更改时返回诸如“更新失败”或“发布失败”之类的错误消息,那么结果不仅令人沮丧,而且还会阻止访问者访问他们需要的内容。
青梅煮码
2023/01/14
5.5K0
如何修复WordPress内容更新和发布失败错误
WordPress 版本更新
WordPress 是一个内容管理系统 (WCM),即它是一种以最佳方式组织创建、存储和展示 Web 内容的整个过程的工具。WordPress 作为一种改进工具开始了它的旅程,以增强日常写作的常规排版。但它被视为一种博客工具,当我们进入今年最后一个季度时,WordPress 成为最常用的 WCM 系统,而且不仅在博客社区中也是如此。
海拥
2023/01/01
2.7K0
WordPress 版本更新
如何修复WordPress更新失败/发布失败错误,您可能已掉线
WordPress CMS是一个完全开源的工具,对用户免费,但是,由于插件等原因,有时会出现一些奇怪的错误消息,这些WordPress错误可能会影响网站的效果,也可能会给网站带来意想不到的后果。
晓得博客
2021/04/07
8K0
错误——持续更新
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/48551789
用户1451823
2018/09/13
1.8K0
错误——持续更新
WordPress更新文章 显示最近更新时间
子比主题为了防止更新后失效 请在目录内新建func.php 文件 插入上方代码即可
残浔
2023/05/11
6740
wordpress 5.8更新,支持webp
  wordpress 5.8刚刚发布更新,支持webp格式的图片上传,如下图所示。WebP 是一种现代图像格式,可为网络上的图像提供改进的无损和有损压缩。WebP 图像比它们的 JPEG 或 PNG 等效图像平均小 30% 左右,从而使网站速度更快,使用的带宽更少。
ytkah
2021/07/23
2.2K0
WordPress 发布 4.0.1 安全更新,强烈建议更新
WordPress 4.0.1 发布,这是一个非常关键的安全修复版本,强烈建议每位用户都升级到最新版本!
Denis
2023/04/15
4330
ubuntu更新源出现错误
有的小伙伴出现了残留源错误,有的人说重装,有的人说改sourcelist,这些方法诚然好使,但都是高射炮打蚊子:小题大作。 现在来说解决方法: 先选右下九个点
全栈程序员站长
2022/08/27
1.3K0
ubuntu更新源出现错误
如何禁用WordPress升级更新通知
WordPress 提供的更新通知对于了解新的可用更新和跟踪站点上的自动更新很有用。但是也有像子凡我这样希望禁用它们以减少 WordPress 仪表板或电子邮件收件箱中的混乱情况。或者,这可能是因为你使用不同的方式来管理更新,从而使通知变得多余。当然子凡我只是因为当 WordPress 核心有升级时,普通的作者编辑人员后台也有提示,这就造成了不需要的通知,所以最直接的方式就是除了管理员其它用户没必要看到 WordPress 的升级更新通知。
张子凡
2023/01/09
1.8K0
如何禁用WordPress升级更新通知
WordPress 技巧:禁止插件更新提醒
这个技巧会阻止 WordPress 检查插件是否有有更新,这个技巧对于给客户建的网站非常有帮助,因为很可能你已经修改了插件,插件的更新将会让整个网站不能正常运行。
Denis
2023/04/15
4750
实用WordPress插件收集(更新中)
wordpress里面的页面的显示顺序是无法控制的。你无法控制某个页面排在前面或者排在后面。 而有时候,我们又确实需要控制某些页面的显示顺序,那么就可以用My Page Order这个wordpress插件了。
星哥玩云
2022/06/11
4720
WordPress 网站怎么关闭自动更新和更新提示
WordPress 网站怎么关闭自动更新和更新提示?之前不是因为 WordPressP 自动更新导致主题无法正常使用,首页出现“空白模板:索引”。原文:《WordPress 自动更新后出现“空白模板:索引”的解决方法》但是我操作之后发现首页依然是“空白模板”,第一反应会不会是系统又自动更新了。故有此教程。
主机教程网2bcd.com
2022/10/17
1.2K0
禁用WordPress致命错误(WSOD)处理
WordPress 5.2内置了一个新功能,当检测到插件或主题发生错误时,自动发送邮件通知网站管理员,即使在后端完全无法访问的情况下(例如发生所谓的“白屏死机”),管理员仍然有机会登录并对此问题采取措施。
可定
2020/04/20
6020
[已解决]如何修复另一个更新正在进行中WordPress升级错误
在使用WordPress建站时,是否遇到过 WordPress 网站当前正在进行另一个更新的错误?此错误会阻止您更新 WordPress 版本,没有正在进行的核心、主题或插件的更新,重新启动更新过程也会导致出现相同的通知,显然是有某种 WordPress 更新锁阻止更新初始化。在本文中,我们晓得博客将向您展示如何修复另一个更新正在进行中WordPress升级错误。
晓得博客
2021/08/12
3.7K0
WordPress 手动升级更新方法
魏艾斯博客有个 wordpress 站很久没有更新版本了,每次 WordPress 升级都会对已发行问题进行安全修复,所以还是尽量的升级到最新版本。前几天上去看了一下最新版本 4.73,点击现在更新后,页面提示:请重试。然后就在这里反复循环了。试过了很多办法比如删除数据库中的版本更新锁定命令行也无效,干脆就手动更新吧。 WordPress 的主题和插件众多,如果你用的主题是比较简单的那还好说,我们不考虑这方面的情况而盲目设置自动升级,很容易导致升级之后出现错误,严重的会导致网站页面变空白、不兼容等问题。所以
魏艾斯博客www.vpsss.net
2018/06/01
4.7K0
点击加载更多

相似问题

自定义javascript确认框

11

angularjs自定义确认框

72

自定义警报/确认框

21

使用TypeScript自定义确认框

10

自定义确认对话框

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文