Javascript 使用.detach()删除事件?

Javascript 使用.detach()删除事件?,javascript,html,jquery,Javascript,Html,Jquery,我有一个DIV,里面有很多内容,我使用detach()和after()将它放在文档的其他地方 在此之前,我使用.bind()在DIV内的复选框上放置一些单击事件 这似乎很有效 完成DIV后,我将它放回原来的位置。当我再次使用相同的.detach()和after()方法时,我的单击处理程序似乎消失了 这是detach()的正常行为吗?有没有保存事件的适当方法 为了便于查询,my DIV包含一个表单,使用绑定单击在复选框上显示一些验证函数。分离用于将窗体放置在模式对话框中,并在用户关闭对话框时将其放

我有一个DIV,里面有很多内容,我使用detach()和after()将它放在文档的其他地方

在此之前,我使用.bind()在DIV内的复选框上放置一些单击事件

这似乎很有效

完成DIV后,我将它放回原来的位置。当我再次使用相同的.detach()和after()方法时,我的单击处理程序似乎消失了

这是detach()的正常行为吗?有没有保存事件的适当方法

为了便于查询,my DIV包含一个表单,使用绑定单击在复选框上显示一些验证函数。分离用于将窗体放置在模式对话框中,并在用户关闭对话框时将其放回隐藏的DIV中。当用户再次打开带有表单的对话框时,我的单击事件丢失。

因此,使用.detach()不会删除事件

即使使用更接近我实际代码的小提琴,我似乎也无法再现这一点

我的问题是,我的click函数在绑定该函数时传入的jQuery复选框数组上失败(无声)

我确实解决了这个问题,取而代之的是通过函数中的选择器查找复选框,而不是将数组传递给函数


谢谢。

jQuery
detach()
是否应该保留事件处理程序和与元素关联的数据:您能否以简化的方式重现问题?否,
detach
将保留事件处理程序,请查看文档。如果遇到问题,一定是其他原因。问题:绑定(“单击”)是否被视为jQuery数据?我只是想知道我是否需要使用detach(),我可以用remove()来代替。@Matthew,是的:查看中的实时示例,单击“处理程序始终工作”。发布jQuery和HTML的相关部分可能会有所帮助。