打开/关闭facebox后jQuery触发器无法正常工作

时间:2013-09-18 23:34:39

标签: jquery javascript-events facebox

我有一大堆带有事件处理程序selectVid的复选框。

$std_cbs.on('change', selectVid);

“全部切换”复选框切换所有其他复选框,并触发这些复选框的“更改”事件。

$checkboxes.prop('checked', is_checked).trigger('change');

这非常有用,直到我打开并关闭facebox弹出窗口。在此之后,当我切换“toggle all”复选框时,其他复选框也会切换,但不会调用它们的事件处理程序selectVid

如果我切换单个复选框,则会按预期调用selectVid

如果我刷新页面,一切都会再次运作。我已经使用Chrome的调试器,并始终到达$checkboxes.prop('checked', is_checked).trigger('change');行。

那么为什么在打开和关闭facebox弹出框后,trigger('change')不再导致selectVid被调用?

提前致谢!

1 个答案:

答案 0 :(得分:0)

使用自执行匿名函数模式偶然解决这个问题,如this article中所述。

我认为在打开facebox时肯定会出现命名冲突,一旦我将所有函数和成员放在他们自己的命名空间中(使用上述模式),就会解决这个问题。