我不知道这是与Raphael,ColorBox还是jQuery有关。这是我的相关代码:
var image = paper.image(p.url_, tx, ty, img.width, img.height);
image[0].style.cursor = "pointer";
image.node.onclick = function() {
$.colorbox({
title: "Some Random Title",
href: function() {
$.post("test.php", { arg: p.id_ } );
}
});
};
在FireBug控制台中观看点击时,帖子会被触发两次。如果它也是get,它也会被触发两次。
如果我从href函数更改为test.php的直接调用,则只发出一次get。
为什么使用jQuery时click事件会发出两次调用?
更新:在匿名函数中添加对alert的调用也会触发两次,所以我猜这与colorbox有关。
更新2 :刚尝试将其连接到实际页面,除了两个get / posts之外,FireBug还会发出此错误消息。这证实了这是ColorBox中的一个问题。此外,它也取得了很大进展,因为虽然两个调用完整的彩盒都显示出它的悸动。
c is undefined
(function(b,gb){var v="none",t="click"...c.settings=eb;b(c.init)})(jQuery,this)
注意:这只附加到第二个电话而不是第一个电话。
答案 0 :(得分:1)
对colorbox不太熟悉,所以我在这里出去了。我猜你想要colorbox的html来使用帖子的结果。我会把帖子放在彩盒外面。您有没有理由不使用$(image.node).click()
?甚至是$(image).click()
?我就是这样做的
var image = paper.image(p.url_, tx, ty, img.width, img.height);
image[0].style.cursor = "pointer";
$(image.node).click(function() {
var post_html = $.post("test.php", { arg: p.id_ } );
$.colorbox({
title: "Some Random Title",
html: post_html
});
});
这可能无法修复它,但它会告诉您问题是colorbox是否触发了两次href,或者是否正在执行两次点击。