Событие клика сработало дважды - PullRequest
0 голосов
/ 01 октября 2010

Я не знаю, связано ли это с 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 сообщение запускается дважды. Он также запускается дважды, если это также и получить.

Если я перехожу с функции href на прямой вызов test.php, то выдается только один раз.

Почему событие click вызывает двойной вызов при использовании jQuery?

ОБНОВЛЕНИЕ : Добавление вызова для оповещения в анонимной функции также срабатывает дважды, поэтому я думаю, что это как-то связано с colorbox.

ОБНОВЛЕНИЕ 2 : Только что попытался подключить его к реальной странице, и FireBug выплевывает это сообщение об ошибке в дополнение к двум get / posts. Что подтверждает, что это проблема в ColorBox. Кроме того, это затрудняет прогресс, потому что в то время как оба вызова завершают colorbox сидит, показывая, что он пульсирует.

c is undefined 
    (function(b,gb){var v="none",t="click"...c.settings=eb;b(c.init)})(jQuery,this)

Примечание: это относится только ко второму вызову, а не к первому.

1 Ответ

1 голос
/ 01 октября 2010

Не очень знаком с colorbox, поэтому я выхожу на конечности здесь.Я предполагаю, что вы хотите, чтобы html colorbox использовал результат поста.Я бы поставил пост за пределами коробки цвета.Есть ли причина, по которой вы не используете $(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 дважды или щелчок выполняется дважды.

...