JQuery вызов синхронно - PullRequest
0 голосов
/ 28 июня 2011

Я объединяю 2 плагина jQuery, Fancybox и Embedly (например, jQuery oembed).

В событии Fancybox onStart я получаю URL ссылки, звоню в службу oembed и помещаю ответ (видео) обратно в лайтбокс.

Ну, по крайней мере, я хочу, чтобы это произошло :) Я получаю ответ от провайдера oembed, но я думаю, что функция onStart уже завершена к тому времени, когда это происходит.

Код:

$('a').fancybox({
    type: 'html',
    onStart: function(selectedArray, selectedIndex, selectedOpts) {
            var url = selectedArray[selectedIndex].href;
            $.embedly(url, {
                success: function (oembed, dict) {
            selectedOpts.content = oembed.html;
                }
            });
    }
});

Кажется, мне нужно обрабатывать вызов синхронно?

Спасибо
Бен

1 Ответ

0 голосов
/ 28 июня 2011

Попробуйте это

$('a').each(function(i, a){
            var url = a.href, $a = $(a);
            $.embedly(url, {
                success: function (oembed, dict) {
                     $a.fancybox({
                     type: 'html',
                     onStart: function(selectedArray, selectedIndex, selectedOpts) {
                        selectedOpts.content = oembed.html;

                               }
                     });
                   }

                }
            });
});
...