新插入的元素,Colorbox不会附加到正确的事件

时间:2011-05-25 08:54:39

标签: javascript jquery colorbox

我有一个表格,我想动态添加一行。这部分工作正常,我使用jQuery插入新行。问题是,该行包含两个“编辑”和“删除”链接,这些链接附加到Colorbox弹出窗口。现有的行可以正常使用Colorbox,但是新行将两个链接都附加到“新用户”Colorbox,而不是“适当”的“编辑”或“删除”弹出窗口。

另一个奇怪的行为是,一旦您点击任何旧链接,链接就会正确附加。重新创建的步骤:

  1. 点击“添加新人”
  2. 点击“添加”
  3. 点击新行的“编辑” - 它 显示“添加新用户”颜色框
  4. 点击其中一个的“编辑” 现有行
  5. 现在点击新行的“编辑” - 它会正确显示编辑颜色框
  6. 我试图在http://pastebin.com/i8n3t2Yt创建最简单的测试用例。如果你想在本地机器上运行它,你必须在http://colorpowered.com/colorbox/下载Colorbox JS。

2 个答案:

答案 0 :(得分:0)

听起来,将事件附加到先前行的代码之后不会被执行到新创建的代码。您需要显式重新运行代码或将回调附加到添加新行时通知的事件。

[编辑看代码]

好的,我刚刚审核了您的代码,情况确实如此。你正在使用运行一次的'ready'方法然后就是这样 - 之后不再触发它。所以任何新节点都没有连接回调。

答案 1 :(得分:0)

因为我使用.clone()创建了新行,所以它没有克隆附加事件。克隆有一个可选参数.clone( [withDataAndEvents] ),我之前默认为默认但在1.6中更改,我相信。我认为,由于Colorbox使用.live()来附加事件,我不需要为 [withDataAndEvents] 指定true,但显然我确实需要。