jQuery live()...必须点击两次才能激活链接?
我有下面的代码位,简单地说:jQuery live()...必须点击两次才能激活链接?
$(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();
});
});
然而,这似乎只在链接上单点击后不愁。这些链接会动态添加到页面(a.add-photos-link
)。
为什么会发生这种情况,我该如何解决这个问题,以便在第一次单击后启动?
您当前的代码仅为链接创建一个colorbox。它不会打开colorbox,这就是为什么你需要点击链接两次:一次创建它并再次打开它。
可以使用open
选项(as documented)创建颜色框立即打开它,像这样的时候:
$(this).colorbox({
open: true,
overlayClose: false,
onComplete: function() {
// ...
}
});
完美。感谢您为我清理! – neezer 2010-03-14 07:08:45
我有类似的问题。我在页面上有一个图像,并且我为图像添加了一个onclick事件。我指定了open:true,但仍需要两次点击。 – 2013-01-18 15:46:50
@MarcWilson用您的详细资料创建一个新问题。 – brianpeiris 2013-01-18 20:16:20
哪里是你的JavaScript所在的页面上?它是否在DOM树生成后执行? – 2010-03-14 06:45:59