javascript复制包含事件和自定义变量的元素

IVI*_*zaM 2 javascript jquery

我通常在javascript中使用元素的自定义变量.这样的事情:

document.getElementById("test").myVar=function(){
    // do something
};
Run Code Online (Sandbox Code Playgroud)

现在我需要复制一个元素(document.getElementById("test"))并将其附加到某处.我试着clone()用jquery.这样的事情:

$("#test").clone(true,true).attr("id","test2").appendTo("#somewhere");
Run Code Online (Sandbox Code Playgroud)

但它无法在新元素中复制myVar.我该怎么解决?

Gab*_*oli 5

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

既然你使用jQuery为什么不使用该.data()方法?(虽然我仍然无法理解你为什么要在一个元素上存储一个函数..)

$('#test').data('myVar', function(){...});
Run Code Online (Sandbox Code Playgroud)

不同的滥用可能是绑定自定义事件处理程序(命名空间以避免进一步的问题),但我会坚持.data()

$('#test').bind('myVar.variables', function(){...});
Run Code Online (Sandbox Code Playgroud)