javascript 复制带有事件和自定义变量的元素

标签 javascript jquery

我通常对 javascript 中的元素使用自定义变量。像这样的东西:

document.getElementById("test").myVar=function(){
    // do something
};

现在我需要复制一个元素 (document.getElementById("test")) 并将其附加到某处。我尝试将 clone() 与 jquery 一起使用。像这样的东西:

$("#test").clone(true,true).attr("id","test2").appendTo("#somewhere");

但它无法在新元素中复制 myVar 。我该如何修复它?

最佳答案

为什么,为什么要给元素分配任意属性?

既然你使用 jQuery 为什么不使用 .data()方法 ? (虽然我仍然不明白为什么你会在元素上存储函数..)

$('#test').data('myVar', function(){...});
<小时/>

另一种滥用可能是绑定(bind)自定义事件处理程序( namespaced to avoid further issues ),但我会坚持使用 .data()

$('#test').bind('myVar.variables', function(){...});

关于javascript 复制带有事件和自定义变量的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13311656/

相关文章:

Javascript 关闭意外结果

javascript - 如何在 Firefox 中保存全屏状态?

javascript - Webpack: 运行时出错 "npm start"

javascript - 谷歌地图不正确的 GeoJSON 渲染

jquery - 如何使用 Fragment 为 URL 设置 jquery cookie?

javascript - 禁用后重新启用提交按钮

javascript - jquery ajax inside .each 如何在整个.each完成时触发函数

javascript - 如何在一个div中只显示特定的文本?

jquery - 我怎样才能从最近的 tbody 获得所有输入

javascript - 如何使用 AngularJS 添加不同的背景颜色