我有以下一点代码,只是:
$(function() {
$('a.add-photos-link').live('click', function(e) {
$(this).colorbox({
overlayClose: false,
onComplete: function() {
$('#add_photos').submit(function(e) {
// more stuff to do
e.preventDefault();
});
}
});
e.preventDefault();
});
});
然而,这似乎只在单击链接TWICE后起作用。这些链接会动态添加到页面(a.add-photos-link
)。
为什么会发生这种情况,我该怎么做才能修复它,以便在第一次单击后触发?
答案 0 :(得分:7)
您当前的代码仅为链接创建颜色框。它不会打开颜色框,这就是您需要单击链接两次的原因:一次创建它并再次打开它。
您可以在创建颜色框时使用open
选项(as documented)立即打开它,如下所示:
$(this).colorbox({
open: true,
overlayClose: false,
onComplete: function() {
// ...
}
});